/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound20.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 05:52:18,380 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 05:52:18,382 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 05:52:18,412 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 05:52:18,413 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 05:52:18,413 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 05:52:18,414 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 05:52:18,415 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 05:52:18,416 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 05:52:18,417 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 05:52:18,417 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 05:52:18,418 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 05:52:18,418 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 05:52:18,419 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 05:52:18,419 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 05:52:18,420 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 05:52:18,420 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 05:52:18,421 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 05:52:18,422 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 05:52:18,423 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 05:52:18,424 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 05:52:18,427 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 05:52:18,430 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 05:52:18,431 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 05:52:18,433 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 05:52:18,434 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 05:52:18,435 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 05:52:18,435 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 05:52:18,435 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 05:52:18,435 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 05:52:18,436 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 05:52:18,436 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 05:52:18,436 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 05:52:18,437 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 05:52:18,437 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 05:52:18,438 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 05:52:18,438 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 05:52:18,438 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 05:52:18,439 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 05:52:18,439 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 05:52:18,439 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 05:52:18,446 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 05:52:18,447 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 05:52:18,458 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 05:52:18,458 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 05:52:18,459 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 05:52:18,459 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 05:52:18,460 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 05:52:18,460 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 05:52:18,460 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 05:52:18,460 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 05:52:18,460 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 05:52:18,460 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 05:52:18,461 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 05:52:18,461 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 05:52:18,461 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 05:52:18,461 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 05:52:18,461 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 05:52:18,461 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 05:52:18,461 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 05:52:18,461 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 05:52:18,461 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 05:52:18,461 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 05:52:18,462 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 05:52:18,462 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 05:52:18,462 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 05:52:18,462 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 05:52:18,462 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 05:52:18,462 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-28 05:52:18,667 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 05:52:18,685 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 05:52:18,687 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 05:52:18,688 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 05:52:18,688 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 05:52:18,689 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound20.c [2022-04-28 05:52:18,760 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c19764455/f85f51bc34f44f3da81921597d607990/FLAG96c746f7f [2022-04-28 05:52:19,154 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 05:52:19,154 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound20.c [2022-04-28 05:52:19,158 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c19764455/f85f51bc34f44f3da81921597d607990/FLAG96c746f7f [2022-04-28 05:52:19,167 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/c19764455/f85f51bc34f44f3da81921597d607990 [2022-04-28 05:52:19,169 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 05:52:19,169 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 05:52:19,171 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 05:52:19,171 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 05:52:19,173 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 05:52:19,173 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 05:52:19" (1/1) ... [2022-04-28 05:52:19,174 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@4bbace46 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:19, skipping insertion in model container [2022-04-28 05:52:19,174 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 05:52:19" (1/1) ... [2022-04-28 05:52:19,183 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 05:52:19,195 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 05:52:19,324 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound20.c[490,503] [2022-04-28 05:52:19,368 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 05:52:19,373 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 05:52:19,386 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd3-ll_valuebound20.c[490,503] [2022-04-28 05:52:19,399 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 05:52:19,410 INFO L208 MainTranslator]: Completed translation [2022-04-28 05:52:19,411 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:19 WrapperNode [2022-04-28 05:52:19,411 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 05:52:19,412 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 05:52:19,412 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 05:52:19,412 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 05:52:19,421 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:19" (1/1) ... [2022-04-28 05:52:19,421 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:19" (1/1) ... [2022-04-28 05:52:19,426 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:19" (1/1) ... [2022-04-28 05:52:19,426 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:19" (1/1) ... [2022-04-28 05:52:19,432 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:19" (1/1) ... [2022-04-28 05:52:19,435 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:19" (1/1) ... [2022-04-28 05:52:19,436 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:19" (1/1) ... [2022-04-28 05:52:19,438 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 05:52:19,438 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 05:52:19,438 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 05:52:19,438 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 05:52:19,439 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:19" (1/1) ... [2022-04-28 05:52:19,449 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 05:52:19,460 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:19,471 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-28 05:52:19,500 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-28 05:52:19,518 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 05:52:19,518 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 05:52:19,518 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 05:52:19,519 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 05:52:19,519 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 05:52:19,519 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 05:52:19,519 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 05:52:19,519 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 05:52:19,519 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 05:52:19,519 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 05:52:19,519 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 05:52:19,519 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 05:52:19,519 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 05:52:19,519 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 05:52:19,520 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 05:52:19,520 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 05:52:19,520 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 05:52:19,520 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 05:52:19,520 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 05:52:19,520 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 05:52:19,560 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 05:52:19,561 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 05:52:19,713 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 05:52:19,719 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 05:52:19,719 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-04-28 05:52:19,721 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 05:52:19 BoogieIcfgContainer [2022-04-28 05:52:19,721 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 05:52:19,722 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 05:52:19,722 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 05:52:19,725 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 05:52:19,725 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 05:52:19" (1/3) ... [2022-04-28 05:52:19,725 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@33d5c8b3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 05:52:19, skipping insertion in model container [2022-04-28 05:52:19,726 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 05:52:19" (2/3) ... [2022-04-28 05:52:19,726 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@33d5c8b3 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 05:52:19, skipping insertion in model container [2022-04-28 05:52:19,726 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 05:52:19" (3/3) ... [2022-04-28 05:52:19,727 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd3-ll_valuebound20.c [2022-04-28 05:52:19,737 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 05:52:19,738 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 05:52:19,783 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 05:52:19,788 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@51bf0f71, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@3935b738 [2022-04-28 05:52:19,788 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 05:52:19,794 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-28 05:52:19,800 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-28 05:52:19,801 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:19,801 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:52:19,801 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:19,805 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:19,805 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 1 times [2022-04-28 05:52:19,821 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:19,821 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [160293613] [2022-04-28 05:52:19,833 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:19,833 INFO L85 PathProgramCache]: Analyzing trace with hash 1237885594, now seen corresponding path program 2 times [2022-04-28 05:52:19,835 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:19,836 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1068086920] [2022-04-28 05:52:19,836 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:19,836 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:19,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:19,996 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 05:52:20,005 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:20,018 INFO L290 TraceCheckUtils]: 0: Hoare triple {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-28 05:52:20,019 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 05:52:20,019 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-28 05:52:20,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 05:52:20,026 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:20,043 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:20,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:20,044 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:20,044 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-28 05:52:20,044 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 05:52:20,045 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:20,053 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:20,053 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:20,054 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:20,054 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-28 05:52:20,054 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 05:52:20,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:20,060 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:20,060 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:20,060 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:20,061 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-28 05:52:20,061 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 05:52:20,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:20,073 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:20,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:20,073 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:20,074 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-28 05:52:20,076 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 05:52:20,076 INFO L290 TraceCheckUtils]: 1: Hoare triple {64#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {43#true} is VALID [2022-04-28 05:52:20,076 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 05:52:20,077 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #112#return; {43#true} is VALID [2022-04-28 05:52:20,077 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-28 05:52:20,077 INFO L290 TraceCheckUtils]: 5: Hoare triple {43#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-28 05:52:20,077 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {43#true} is VALID [2022-04-28 05:52:20,077 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:20,078 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:20,078 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:20,078 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #94#return; {44#false} is VALID [2022-04-28 05:52:20,078 INFO L290 TraceCheckUtils]: 11: Hoare triple {44#false} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {44#false} is VALID [2022-04-28 05:52:20,079 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {43#true} is VALID [2022-04-28 05:52:20,079 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:20,080 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:20,080 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:20,080 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #96#return; {44#false} is VALID [2022-04-28 05:52:20,080 INFO L272 TraceCheckUtils]: 17: Hoare triple {44#false} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-28 05:52:20,081 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:20,081 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:20,082 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:20,082 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #98#return; {44#false} is VALID [2022-04-28 05:52:20,083 INFO L272 TraceCheckUtils]: 22: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {43#true} is VALID [2022-04-28 05:52:20,083 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 05:52:20,084 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 05:52:20,084 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 05:52:20,084 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #100#return; {44#false} is VALID [2022-04-28 05:52:20,084 INFO L290 TraceCheckUtils]: 27: Hoare triple {44#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {44#false} is VALID [2022-04-28 05:52:20,085 INFO L290 TraceCheckUtils]: 28: Hoare triple {44#false} assume false; {44#false} is VALID [2022-04-28 05:52:20,085 INFO L272 TraceCheckUtils]: 29: Hoare triple {44#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {44#false} is VALID [2022-04-28 05:52:20,085 INFO L290 TraceCheckUtils]: 30: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-28 05:52:20,085 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-28 05:52:20,085 INFO L290 TraceCheckUtils]: 32: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-28 05:52:20,086 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 05:52:20,086 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:20,086 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1068086920] [2022-04-28 05:52:20,087 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1068086920] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:20,087 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:20,087 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 05:52:20,089 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:20,089 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [160293613] [2022-04-28 05:52:20,089 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [160293613] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:20,089 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:20,090 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 05:52:20,090 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2124070677] [2022-04-28 05:52:20,090 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:20,094 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 05:52:20,097 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:20,099 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:52:20,128 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:20,129 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 05:52:20,129 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:20,157 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 05:52:20,157 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 05:52:20,162 INFO L87 Difference]: Start difference. First operand has 40 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 24 states have internal predecessors, (35), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:52:20,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:20,323 INFO L93 Difference]: Finished difference Result 73 states and 115 transitions. [2022-04-28 05:52:20,323 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 05:52:20,324 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-28 05:52:20,324 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:20,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:52:20,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-28 05:52:20,337 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:52:20,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 115 transitions. [2022-04-28 05:52:20,340 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 115 transitions. [2022-04-28 05:52:20,440 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:20,455 INFO L225 Difference]: With dead ends: 73 [2022-04-28 05:52:20,455 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 05:52:20,457 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 15 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 05:52:20,459 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 24 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:52:20,460 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [33 Valid, 43 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:52:20,469 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 05:52:20,531 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-28 05:52:20,531 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:20,532 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:52:20,533 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:52:20,533 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:52:20,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:20,537 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-28 05:52:20,537 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-28 05:52:20,537 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:20,538 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:20,538 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-28 05:52:20,538 INFO L87 Difference]: Start difference. First operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 35 states. [2022-04-28 05:52:20,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:20,541 INFO L93 Difference]: Finished difference Result 35 states and 44 transitions. [2022-04-28 05:52:20,541 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-28 05:52:20,541 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:20,542 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:20,542 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:20,542 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:20,542 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 20 states have (on average 1.2) internal successors, (24), 21 states have internal predecessors, (24), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-28 05:52:20,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 44 transitions. [2022-04-28 05:52:20,545 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 44 transitions. Word has length 33 [2022-04-28 05:52:20,545 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:20,545 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 44 transitions. [2022-04-28 05:52:20,546 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 4.0) internal successors, (12), 2 states have internal predecessors, (12), 2 states have call successors, (7), 3 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:52:20,546 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 44 transitions. [2022-04-28 05:52:20,584 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:20,585 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 44 transitions. [2022-04-28 05:52:20,586 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-04-28 05:52:20,586 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:20,586 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:52:20,587 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 05:52:20,587 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:20,587 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:20,587 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 1 times [2022-04-28 05:52:20,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:20,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [769682799] [2022-04-28 05:52:20,589 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:20,589 INFO L85 PathProgramCache]: Analyzing trace with hash 1569470122, now seen corresponding path program 2 times [2022-04-28 05:52:20,589 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:20,592 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1891367024] [2022-04-28 05:52:20,592 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:20,592 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:20,629 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:52:20,629 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [439571951] [2022-04-28 05:52:20,629 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:52:20,629 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:20,629 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:20,648 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:52:20,650 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-28 05:52:20,689 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 05:52:20,690 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:52:20,691 INFO L263 TraceCheckSpWp]: Trace formula consists of 76 conjuncts, 17 conjunts are in the unsatisfiable core [2022-04-28 05:52:20,700 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:20,709 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:20,886 INFO L272 TraceCheckUtils]: 0: Hoare triple {353#true} call ULTIMATE.init(); {353#true} is VALID [2022-04-28 05:52:20,886 INFO L290 TraceCheckUtils]: 1: Hoare triple {353#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {353#true} is VALID [2022-04-28 05:52:20,886 INFO L290 TraceCheckUtils]: 2: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 05:52:20,886 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {353#true} {353#true} #112#return; {353#true} is VALID [2022-04-28 05:52:20,887 INFO L272 TraceCheckUtils]: 4: Hoare triple {353#true} call #t~ret6 := main(); {353#true} is VALID [2022-04-28 05:52:20,887 INFO L290 TraceCheckUtils]: 5: Hoare triple {353#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {353#true} is VALID [2022-04-28 05:52:20,887 INFO L272 TraceCheckUtils]: 6: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {353#true} is VALID [2022-04-28 05:52:20,887 INFO L290 TraceCheckUtils]: 7: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 05:52:20,887 INFO L290 TraceCheckUtils]: 8: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 05:52:20,887 INFO L290 TraceCheckUtils]: 9: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 05:52:20,887 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {353#true} {353#true} #94#return; {353#true} is VALID [2022-04-28 05:52:20,888 INFO L290 TraceCheckUtils]: 11: Hoare triple {353#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {353#true} is VALID [2022-04-28 05:52:20,888 INFO L272 TraceCheckUtils]: 12: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {353#true} is VALID [2022-04-28 05:52:20,888 INFO L290 TraceCheckUtils]: 13: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 05:52:20,888 INFO L290 TraceCheckUtils]: 14: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 05:52:20,888 INFO L290 TraceCheckUtils]: 15: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 05:52:20,888 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {353#true} {353#true} #96#return; {353#true} is VALID [2022-04-28 05:52:20,888 INFO L272 TraceCheckUtils]: 17: Hoare triple {353#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-28 05:52:20,889 INFO L290 TraceCheckUtils]: 18: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 05:52:20,889 INFO L290 TraceCheckUtils]: 19: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 05:52:20,889 INFO L290 TraceCheckUtils]: 20: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 05:52:20,889 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {353#true} {353#true} #98#return; {353#true} is VALID [2022-04-28 05:52:20,889 INFO L272 TraceCheckUtils]: 22: Hoare triple {353#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {353#true} is VALID [2022-04-28 05:52:20,889 INFO L290 TraceCheckUtils]: 23: Hoare triple {353#true} ~cond := #in~cond; {353#true} is VALID [2022-04-28 05:52:20,889 INFO L290 TraceCheckUtils]: 24: Hoare triple {353#true} assume !(0 == ~cond); {353#true} is VALID [2022-04-28 05:52:20,889 INFO L290 TraceCheckUtils]: 25: Hoare triple {353#true} assume true; {353#true} is VALID [2022-04-28 05:52:20,890 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {353#true} {353#true} #100#return; {353#true} is VALID [2022-04-28 05:52:20,890 INFO L290 TraceCheckUtils]: 27: Hoare triple {353#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:52:20,891 INFO L290 TraceCheckUtils]: 28: Hoare triple {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:52:20,891 INFO L290 TraceCheckUtils]: 29: Hoare triple {439#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(0 != ~b~0); {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:52:20,892 INFO L272 TraceCheckUtils]: 30: Hoare triple {446#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~y~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {450#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:52:20,893 INFO L290 TraceCheckUtils]: 31: Hoare triple {450#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {454#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:20,893 INFO L290 TraceCheckUtils]: 32: Hoare triple {454#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {354#false} is VALID [2022-04-28 05:52:20,893 INFO L290 TraceCheckUtils]: 33: Hoare triple {354#false} assume !false; {354#false} is VALID [2022-04-28 05:52:20,893 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 05:52:20,893 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:52:20,894 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:20,894 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1891367024] [2022-04-28 05:52:20,894 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:52:20,894 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [439571951] [2022-04-28 05:52:20,894 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [439571951] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:20,894 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:20,894 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 05:52:20,895 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:20,895 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [769682799] [2022-04-28 05:52:20,895 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [769682799] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:20,895 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:20,896 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 05:52:20,896 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2017033717] [2022-04-28 05:52:20,896 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:20,896 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-28 05:52:20,896 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:20,897 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:52:20,913 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:20,913 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 05:52:20,914 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:20,914 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 05:52:20,914 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:52:20,914 INFO L87 Difference]: Start difference. First operand 35 states and 44 transitions. Second operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:52:21,167 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:21,168 INFO L93 Difference]: Finished difference Result 54 states and 69 transitions. [2022-04-28 05:52:21,168 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 05:52:21,168 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 34 [2022-04-28 05:52:21,168 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:21,168 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:52:21,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 05:52:21,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:52:21,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 05:52:21,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-28 05:52:21,221 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:21,223 INFO L225 Difference]: With dead ends: 54 [2022-04-28 05:52:21,223 INFO L226 Difference]: Without dead ends: 51 [2022-04-28 05:52:21,223 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 35 GetRequests, 29 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 05:52:21,224 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 77 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 158 SdHoareTripleChecker+Invalid, 79 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 77 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:52:21,224 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 158 Invalid, 79 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 77 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:52:21,225 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-28 05:52:21,233 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-28 05:52:21,233 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:21,233 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:52:21,234 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:52:21,234 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:52:21,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:21,236 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-28 05:52:21,236 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-28 05:52:21,237 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:21,237 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:21,237 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-28 05:52:21,237 INFO L87 Difference]: Start difference. First operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) Second operand 51 states. [2022-04-28 05:52:21,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:21,239 INFO L93 Difference]: Finished difference Result 51 states and 65 transitions. [2022-04-28 05:52:21,240 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 65 transitions. [2022-04-28 05:52:21,240 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:21,240 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:21,240 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:21,240 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:21,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 30 states have (on average 1.2) internal successors, (36), 31 states have internal predecessors, (36), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 13 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 05:52:21,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 64 transitions. [2022-04-28 05:52:21,243 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 64 transitions. Word has length 34 [2022-04-28 05:52:21,243 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:21,243 INFO L495 AbstractCegarLoop]: Abstraction has 50 states and 64 transitions. [2022-04-28 05:52:21,243 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:52:21,243 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 64 transitions. [2022-04-28 05:52:21,298 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:21,298 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 64 transitions. [2022-04-28 05:52:21,299 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-28 05:52:21,299 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:21,299 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:52:21,316 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-28 05:52:21,516 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:21,517 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:21,517 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:21,517 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 1 times [2022-04-28 05:52:21,517 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:21,517 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1409331660] [2022-04-28 05:52:21,518 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:21,518 INFO L85 PathProgramCache]: Analyzing trace with hash 584996456, now seen corresponding path program 2 times [2022-04-28 05:52:21,518 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:21,518 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [695833162] [2022-04-28 05:52:21,518 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:21,518 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:21,531 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:52:21,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1058218338] [2022-04-28 05:52:21,532 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:52:21,532 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:21,532 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:21,533 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:52:21,567 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-28 05:52:21,574 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:52:21,574 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:52:21,575 INFO L263 TraceCheckSpWp]: Trace formula consists of 129 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 05:52:21,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:21,584 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:21,743 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-28 05:52:21,743 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {774#true} is VALID [2022-04-28 05:52:21,743 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:21,743 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-28 05:52:21,743 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-28 05:52:21,743 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-28 05:52:21,744 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {774#true} is VALID [2022-04-28 05:52:21,744 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:52:21,744 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:52:21,744 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:21,744 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-28 05:52:21,744 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-28 05:52:21,744 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {774#true} is VALID [2022-04-28 05:52:21,744 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:52:21,744 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:52:21,745 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:21,745 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-28 05:52:21,745 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 05:52:21,745 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:52:21,745 INFO L290 TraceCheckUtils]: 19: Hoare triple {833#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:21,746 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:21,746 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-28 05:52:21,746 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 05:52:21,746 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:52:21,747 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:52:21,747 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:21,747 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-28 05:52:21,748 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 05:52:21,748 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 05:52:21,748 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 05:52:21,749 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 05:52:21,749 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-28 05:52:21,749 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 05:52:21,750 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 05:52:21,750 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-28 05:52:21,750 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-28 05:52:21,750 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-28 05:52:21,750 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-28 05:52:21,750 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-28 05:52:21,751 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 05:52:21,751 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:52:21,934 INFO L290 TraceCheckUtils]: 38: Hoare triple {775#false} assume !false; {775#false} is VALID [2022-04-28 05:52:21,935 INFO L290 TraceCheckUtils]: 37: Hoare triple {775#false} assume 0 == ~cond; {775#false} is VALID [2022-04-28 05:52:21,935 INFO L290 TraceCheckUtils]: 36: Hoare triple {775#false} ~cond := #in~cond; {775#false} is VALID [2022-04-28 05:52:21,935 INFO L272 TraceCheckUtils]: 35: Hoare triple {775#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {775#false} is VALID [2022-04-28 05:52:21,935 INFO L290 TraceCheckUtils]: 34: Hoare triple {880#(<= 1 main_~b~0)} assume !(0 != ~b~0); {775#false} is VALID [2022-04-28 05:52:21,936 INFO L290 TraceCheckUtils]: 33: Hoare triple {880#(<= 1 main_~b~0)} assume !false; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 05:52:21,936 INFO L290 TraceCheckUtils]: 32: Hoare triple {870#(<= 1 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {880#(<= 1 main_~b~0)} is VALID [2022-04-28 05:52:21,936 INFO L290 TraceCheckUtils]: 31: Hoare triple {870#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {870#(<= 1 main_~c~0)} is VALID [2022-04-28 05:52:21,937 INFO L290 TraceCheckUtils]: 30: Hoare triple {870#(<= 1 main_~c~0)} assume !false; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 05:52:21,937 INFO L290 TraceCheckUtils]: 29: Hoare triple {863#(<= 1 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {870#(<= 1 main_~c~0)} is VALID [2022-04-28 05:52:21,937 INFO L290 TraceCheckUtils]: 28: Hoare triple {863#(<= 1 main_~a~0)} assume !false; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 05:52:21,938 INFO L290 TraceCheckUtils]: 27: Hoare triple {844#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {863#(<= 1 main_~a~0)} is VALID [2022-04-28 05:52:21,938 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {774#true} {844#(<= 1 main_~x~0)} #100#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-28 05:52:21,938 INFO L290 TraceCheckUtils]: 25: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:21,939 INFO L290 TraceCheckUtils]: 24: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:52:21,939 INFO L290 TraceCheckUtils]: 23: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:52:21,939 INFO L272 TraceCheckUtils]: 22: Hoare triple {844#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 05:52:21,939 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {837#(not (= |assume_abort_if_not_#in~cond| 0))} {774#true} #98#return; {844#(<= 1 main_~x~0)} is VALID [2022-04-28 05:52:21,940 INFO L290 TraceCheckUtils]: 20: Hoare triple {837#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:21,940 INFO L290 TraceCheckUtils]: 19: Hoare triple {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {837#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:21,940 INFO L290 TraceCheckUtils]: 18: Hoare triple {774#true} ~cond := #in~cond; {959#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 05:52:21,940 INFO L272 TraceCheckUtils]: 17: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {774#true} is VALID [2022-04-28 05:52:21,940 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {774#true} {774#true} #96#return; {774#true} is VALID [2022-04-28 05:52:21,941 INFO L290 TraceCheckUtils]: 15: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:21,941 INFO L290 TraceCheckUtils]: 14: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:52:21,941 INFO L290 TraceCheckUtils]: 13: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:52:21,941 INFO L272 TraceCheckUtils]: 12: Hoare triple {774#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {774#true} is VALID [2022-04-28 05:52:21,941 INFO L290 TraceCheckUtils]: 11: Hoare triple {774#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {774#true} is VALID [2022-04-28 05:52:21,941 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {774#true} {774#true} #94#return; {774#true} is VALID [2022-04-28 05:52:21,941 INFO L290 TraceCheckUtils]: 9: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:21,941 INFO L290 TraceCheckUtils]: 8: Hoare triple {774#true} assume !(0 == ~cond); {774#true} is VALID [2022-04-28 05:52:21,941 INFO L290 TraceCheckUtils]: 7: Hoare triple {774#true} ~cond := #in~cond; {774#true} is VALID [2022-04-28 05:52:21,941 INFO L272 TraceCheckUtils]: 6: Hoare triple {774#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {774#true} is VALID [2022-04-28 05:52:21,941 INFO L290 TraceCheckUtils]: 5: Hoare triple {774#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {774#true} is VALID [2022-04-28 05:52:21,942 INFO L272 TraceCheckUtils]: 4: Hoare triple {774#true} call #t~ret6 := main(); {774#true} is VALID [2022-04-28 05:52:21,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {774#true} {774#true} #112#return; {774#true} is VALID [2022-04-28 05:52:21,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {774#true} assume true; {774#true} is VALID [2022-04-28 05:52:21,942 INFO L290 TraceCheckUtils]: 1: Hoare triple {774#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {774#true} is VALID [2022-04-28 05:52:21,942 INFO L272 TraceCheckUtils]: 0: Hoare triple {774#true} call ULTIMATE.init(); {774#true} is VALID [2022-04-28 05:52:21,942 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 6 proven. 5 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 05:52:21,942 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:21,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [695833162] [2022-04-28 05:52:21,942 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:52:21,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1058218338] [2022-04-28 05:52:21,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1058218338] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:52:21,943 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:52:21,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 05:52:21,943 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:21,943 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1409331660] [2022-04-28 05:52:21,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1409331660] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:21,943 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:21,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:52:21,943 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1391977950] [2022-04-28 05:52:21,943 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:21,944 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-28 05:52:21,944 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:21,944 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:52:21,963 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:21,963 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:52:21,964 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:21,964 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:52:21,964 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:52:21,964 INFO L87 Difference]: Start difference. First operand 50 states and 64 transitions. Second operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:52:22,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:22,593 INFO L93 Difference]: Finished difference Result 103 states and 143 transitions. [2022-04-28 05:52:22,593 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 05:52:22,593 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 39 [2022-04-28 05:52:22,593 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:22,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:52:22,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 05:52:22,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:52:22,606 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 108 transitions. [2022-04-28 05:52:22,606 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 108 transitions. [2022-04-28 05:52:22,684 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:22,687 INFO L225 Difference]: With dead ends: 103 [2022-04-28 05:52:22,687 INFO L226 Difference]: Without dead ends: 96 [2022-04-28 05:52:22,688 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 82 GetRequests, 69 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:52:22,688 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 68 mSDsluCounter, 182 mSDsCounter, 0 mSdLazyCounter, 148 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 232 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 148 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 05:52:22,689 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [72 Valid, 232 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 148 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 05:52:22,689 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-28 05:52:22,753 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 71. [2022-04-28 05:52:22,753 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:22,754 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:52:22,754 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:52:22,755 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:52:22,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:22,759 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-28 05:52:22,759 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-28 05:52:22,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:22,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:22,761 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-28 05:52:22,761 INFO L87 Difference]: Start difference. First operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) Second operand 96 states. [2022-04-28 05:52:22,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:22,765 INFO L93 Difference]: Finished difference Result 96 states and 136 transitions. [2022-04-28 05:52:22,765 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 136 transitions. [2022-04-28 05:52:22,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:22,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:22,766 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:22,766 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:22,766 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 47 states have (on average 1.2553191489361701) internal successors, (59), 48 states have internal predecessors, (59), 19 states have call successors, (19), 5 states have call predecessors, (19), 4 states have return successors, (17), 17 states have call predecessors, (17), 17 states have call successors, (17) [2022-04-28 05:52:22,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 95 transitions. [2022-04-28 05:52:22,768 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 95 transitions. Word has length 39 [2022-04-28 05:52:22,768 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:22,769 INFO L495 AbstractCegarLoop]: Abstraction has 71 states and 95 transitions. [2022-04-28 05:52:22,769 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.625) internal successors, (21), 7 states have internal predecessors, (21), 3 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-28 05:52:22,769 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 95 transitions. [2022-04-28 05:52:22,860 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:22,860 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 95 transitions. [2022-04-28 05:52:22,861 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-28 05:52:22,861 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:22,861 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:52:22,877 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-28 05:52:23,075 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-28 05:52:23,076 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:23,076 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:23,076 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 1 times [2022-04-28 05:52:23,076 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:23,076 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1225298261] [2022-04-28 05:52:23,076 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:23,077 INFO L85 PathProgramCache]: Analyzing trace with hash -974923140, now seen corresponding path program 2 times [2022-04-28 05:52:23,077 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:23,077 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [508096960] [2022-04-28 05:52:23,077 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:23,077 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:23,093 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:52:23,093 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [912605534] [2022-04-28 05:52:23,093 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:52:23,094 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:23,094 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:23,095 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:52:23,119 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-28 05:52:23,177 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:52:23,178 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:52:23,178 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-28 05:52:23,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:23,195 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:23,676 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-28 05:52:23,676 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1566#true} is VALID [2022-04-28 05:52:23,676 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:23,676 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-28 05:52:23,676 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-28 05:52:23,677 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-28 05:52:23,677 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:52:23,677 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:52:23,677 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:52:23,677 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:23,677 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-28 05:52:23,677 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-28 05:52:23,677 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:52:23,677 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:52:23,678 INFO L290 TraceCheckUtils]: 14: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:23,678 INFO L290 TraceCheckUtils]: 15: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:23,679 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1566#true} #96#return; {1621#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-28 05:52:23,679 INFO L272 TraceCheckUtils]: 17: Hoare triple {1621#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:52:23,680 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:52:23,680 INFO L290 TraceCheckUtils]: 19: Hoare triple {1610#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:23,680 INFO L290 TraceCheckUtils]: 20: Hoare triple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1614#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:23,681 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1614#(not (= |assume_abort_if_not_#in~cond| 0))} {1621#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #98#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-28 05:52:23,681 INFO L272 TraceCheckUtils]: 22: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:52:23,681 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:52:23,681 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:52:23,681 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:23,681 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} #100#return; {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-28 05:52:23,682 INFO L290 TraceCheckUtils]: 27: Hoare triple {1637#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 20))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:52:23,682 INFO L290 TraceCheckUtils]: 28: Hoare triple {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~a~0 main_~x~0))} assume !false; {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:52:23,683 INFO L290 TraceCheckUtils]: 29: Hoare triple {1656#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:52:23,683 INFO L290 TraceCheckUtils]: 30: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} assume !false; {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:52:23,684 INFO L290 TraceCheckUtils]: 31: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:52:23,684 INFO L290 TraceCheckUtils]: 32: Hoare triple {1663#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~y~0 20) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-28 05:52:23,684 INFO L290 TraceCheckUtils]: 33: Hoare triple {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} assume !false; {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-28 05:52:23,685 INFO L290 TraceCheckUtils]: 34: Hoare triple {1673#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-28 05:52:23,688 INFO L290 TraceCheckUtils]: 35: Hoare triple {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} assume !false; {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} is VALID [2022-04-28 05:52:23,689 INFO L290 TraceCheckUtils]: 36: Hoare triple {1680#(and (<= 0 main_~y~0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (<= main_~y~0 20))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} is VALID [2022-04-28 05:52:23,689 INFO L290 TraceCheckUtils]: 37: Hoare triple {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} assume !false; {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} is VALID [2022-04-28 05:52:23,690 INFO L272 TraceCheckUtils]: 38: Hoare triple {1687#(and (<= 1 main_~x~0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (<= main_~x~0 main_~a~0) (<= main_~y~0 20))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:52:23,690 INFO L290 TraceCheckUtils]: 39: Hoare triple {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1698#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:23,690 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-28 05:52:23,690 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 05:52:23,691 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 6 proven. 10 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 05:52:23,691 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:52:24,038 INFO L290 TraceCheckUtils]: 41: Hoare triple {1567#false} assume !false; {1567#false} is VALID [2022-04-28 05:52:24,039 INFO L290 TraceCheckUtils]: 40: Hoare triple {1698#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1567#false} is VALID [2022-04-28 05:52:24,039 INFO L290 TraceCheckUtils]: 39: Hoare triple {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1698#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:24,040 INFO L272 TraceCheckUtils]: 38: Hoare triple {1714#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1694#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:52:24,040 INFO L290 TraceCheckUtils]: 37: Hoare triple {1714#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {1714#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:52:24,041 INFO L290 TraceCheckUtils]: 36: Hoare triple {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {1714#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:52:24,041 INFO L290 TraceCheckUtils]: 35: Hoare triple {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} assume !false; {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 05:52:24,042 INFO L290 TraceCheckUtils]: 34: Hoare triple {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1721#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 05:52:24,042 INFO L290 TraceCheckUtils]: 33: Hoare triple {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:52:24,043 INFO L290 TraceCheckUtils]: 32: Hoare triple {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {1728#(or (not (<= main_~b~0 main_~a~0)) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:52:24,044 INFO L290 TraceCheckUtils]: 31: Hoare triple {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:52:24,044 INFO L290 TraceCheckUtils]: 30: Hoare triple {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:52:24,044 INFO L290 TraceCheckUtils]: 29: Hoare triple {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {1735#(or (not (<= main_~c~0 main_~b~0)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:52:24,045 INFO L290 TraceCheckUtils]: 28: Hoare triple {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} assume !false; {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} is VALID [2022-04-28 05:52:24,045 INFO L290 TraceCheckUtils]: 27: Hoare triple {1566#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1745#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~a~0 main_~b~0)))} is VALID [2022-04-28 05:52:24,045 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1566#true} {1566#true} #100#return; {1566#true} is VALID [2022-04-28 05:52:24,046 INFO L290 TraceCheckUtils]: 25: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:24,046 INFO L290 TraceCheckUtils]: 24: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:52:24,046 INFO L290 TraceCheckUtils]: 23: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:52:24,046 INFO L272 TraceCheckUtils]: 22: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:52:24,046 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1566#true} {1566#true} #98#return; {1566#true} is VALID [2022-04-28 05:52:24,046 INFO L290 TraceCheckUtils]: 20: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:24,046 INFO L290 TraceCheckUtils]: 19: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:52:24,046 INFO L290 TraceCheckUtils]: 18: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:52:24,047 INFO L272 TraceCheckUtils]: 17: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:52:24,047 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1566#true} {1566#true} #96#return; {1566#true} is VALID [2022-04-28 05:52:24,047 INFO L290 TraceCheckUtils]: 15: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:24,047 INFO L290 TraceCheckUtils]: 14: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:52:24,047 INFO L290 TraceCheckUtils]: 13: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:52:24,047 INFO L272 TraceCheckUtils]: 12: Hoare triple {1566#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:52:24,047 INFO L290 TraceCheckUtils]: 11: Hoare triple {1566#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1566#true} is VALID [2022-04-28 05:52:24,047 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1566#true} {1566#true} #94#return; {1566#true} is VALID [2022-04-28 05:52:24,047 INFO L290 TraceCheckUtils]: 9: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:24,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {1566#true} assume !(0 == ~cond); {1566#true} is VALID [2022-04-28 05:52:24,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {1566#true} ~cond := #in~cond; {1566#true} is VALID [2022-04-28 05:52:24,048 INFO L272 TraceCheckUtils]: 6: Hoare triple {1566#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {1566#true} is VALID [2022-04-28 05:52:24,048 INFO L290 TraceCheckUtils]: 5: Hoare triple {1566#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1566#true} is VALID [2022-04-28 05:52:24,048 INFO L272 TraceCheckUtils]: 4: Hoare triple {1566#true} call #t~ret6 := main(); {1566#true} is VALID [2022-04-28 05:52:24,048 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1566#true} {1566#true} #112#return; {1566#true} is VALID [2022-04-28 05:52:24,048 INFO L290 TraceCheckUtils]: 2: Hoare triple {1566#true} assume true; {1566#true} is VALID [2022-04-28 05:52:24,048 INFO L290 TraceCheckUtils]: 1: Hoare triple {1566#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {1566#true} is VALID [2022-04-28 05:52:24,048 INFO L272 TraceCheckUtils]: 0: Hoare triple {1566#true} call ULTIMATE.init(); {1566#true} is VALID [2022-04-28 05:52:24,049 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 05:52:24,049 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:24,049 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [508096960] [2022-04-28 05:52:24,049 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:52:24,049 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [912605534] [2022-04-28 05:52:24,049 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [912605534] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:52:24,049 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:52:24,049 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 9] total 18 [2022-04-28 05:52:24,050 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:24,050 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1225298261] [2022-04-28 05:52:24,050 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1225298261] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:24,050 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:24,050 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 05:52:24,050 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1957634814] [2022-04-28 05:52:24,050 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:24,051 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-28 05:52:24,051 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:24,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 05:52:24,079 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:24,080 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 05:52:24,080 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:24,080 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 05:52:24,080 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=246, Unknown=0, NotChecked=0, Total=306 [2022-04-28 05:52:24,081 INFO L87 Difference]: Start difference. First operand 71 states and 95 transitions. Second operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 05:52:25,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:25,357 INFO L93 Difference]: Finished difference Result 112 states and 151 transitions. [2022-04-28 05:52:25,357 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 05:52:25,358 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) Word has length 42 [2022-04-28 05:52:25,358 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:25,358 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 05:52:25,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-28 05:52:25,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 05:52:25,362 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 117 transitions. [2022-04-28 05:52:25,362 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 117 transitions. [2022-04-28 05:52:25,476 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 117 edges. 117 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:25,479 INFO L225 Difference]: With dead ends: 112 [2022-04-28 05:52:25,479 INFO L226 Difference]: Without dead ends: 110 [2022-04-28 05:52:25,479 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 66 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 81 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=96, Invalid=410, Unknown=0, NotChecked=0, Total=506 [2022-04-28 05:52:25,480 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 89 mSDsluCounter, 193 mSDsCounter, 0 mSdLazyCounter, 358 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 98 SdHoareTripleChecker+Valid, 245 SdHoareTripleChecker+Invalid, 414 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 358 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 05:52:25,480 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [98 Valid, 245 Invalid, 414 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 358 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 05:52:25,481 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 110 states. [2022-04-28 05:52:25,652 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 110 to 93. [2022-04-28 05:52:25,652 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:25,653 INFO L82 GeneralOperation]: Start isEquivalent. First operand 110 states. Second operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 05:52:25,653 INFO L74 IsIncluded]: Start isIncluded. First operand 110 states. Second operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 05:52:25,653 INFO L87 Difference]: Start difference. First operand 110 states. Second operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 05:52:25,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:25,657 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-28 05:52:25,657 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-28 05:52:25,658 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:25,658 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:25,658 INFO L74 IsIncluded]: Start isIncluded. First operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 110 states. [2022-04-28 05:52:25,659 INFO L87 Difference]: Start difference. First operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) Second operand 110 states. [2022-04-28 05:52:25,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:25,662 INFO L93 Difference]: Finished difference Result 110 states and 149 transitions. [2022-04-28 05:52:25,662 INFO L276 IsEmpty]: Start isEmpty. Operand 110 states and 149 transitions. [2022-04-28 05:52:25,662 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:25,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:25,663 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:25,663 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:25,663 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 93 states, 63 states have (on average 1.2380952380952381) internal successors, (78), 64 states have internal predecessors, (78), 23 states have call successors, (23), 7 states have call predecessors, (23), 6 states have return successors, (21), 21 states have call predecessors, (21), 21 states have call successors, (21) [2022-04-28 05:52:25,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 122 transitions. [2022-04-28 05:52:25,666 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 122 transitions. Word has length 42 [2022-04-28 05:52:25,666 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:25,666 INFO L495 AbstractCegarLoop]: Abstraction has 93 states and 122 transitions. [2022-04-28 05:52:25,666 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.0) internal successors, (24), 10 states have internal predecessors, (24), 4 states have call successors, (7), 2 states have call predecessors, (7), 2 states have return successors, (5), 3 states have call predecessors, (5), 3 states have call successors, (5) [2022-04-28 05:52:25,666 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 93 states and 122 transitions. [2022-04-28 05:52:25,794 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 122 edges. 122 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:25,794 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 122 transitions. [2022-04-28 05:52:25,795 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 05:52:25,795 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:25,795 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:52:25,811 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-28 05:52:26,003 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:26,003 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:26,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:26,004 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 1 times [2022-04-28 05:52:26,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:26,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1481645350] [2022-04-28 05:52:26,004 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:26,004 INFO L85 PathProgramCache]: Analyzing trace with hash 81990170, now seen corresponding path program 2 times [2022-04-28 05:52:26,004 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:26,004 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1831160113] [2022-04-28 05:52:26,004 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:26,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:26,017 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:52:26,017 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1516552188] [2022-04-28 05:52:26,017 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:52:26,018 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:26,018 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:26,018 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:52:26,045 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-28 05:52:26,069 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:52:26,069 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:52:26,070 INFO L263 TraceCheckSpWp]: Trace formula consists of 135 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 05:52:26,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:26,079 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:26,318 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-28 05:52:26,318 INFO L290 TraceCheckUtils]: 1: Hoare triple {2475#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2475#true} is VALID [2022-04-28 05:52:26,318 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:26,319 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-28 05:52:26,319 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-28 05:52:26,319 INFO L290 TraceCheckUtils]: 5: Hoare triple {2475#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2475#true} is VALID [2022-04-28 05:52:26,319 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:26,319 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:26,319 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:26,319 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:26,319 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-28 05:52:26,319 INFO L290 TraceCheckUtils]: 11: Hoare triple {2475#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2475#true} is VALID [2022-04-28 05:52:26,319 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:26,320 INFO L290 TraceCheckUtils]: 13: Hoare triple {2475#true} ~cond := #in~cond; {2519#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:52:26,320 INFO L290 TraceCheckUtils]: 14: Hoare triple {2519#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {2523#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:26,320 INFO L290 TraceCheckUtils]: 15: Hoare triple {2523#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {2523#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:26,321 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2523#(not (= |assume_abort_if_not_#in~cond| 0))} {2475#true} #96#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-28 05:52:26,321 INFO L272 TraceCheckUtils]: 17: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:26,321 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:26,321 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:26,321 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:26,322 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #98#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-28 05:52:26,322 INFO L272 TraceCheckUtils]: 22: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:26,322 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:26,322 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:26,322 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:26,322 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #100#return; {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-28 05:52:26,323 INFO L290 TraceCheckUtils]: 27: Hoare triple {2530#(and (<= 0 main_~y~0) (<= main_~y~0 20))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2564#(<= 0 main_~b~0)} is VALID [2022-04-28 05:52:26,323 INFO L290 TraceCheckUtils]: 28: Hoare triple {2564#(<= 0 main_~b~0)} assume !false; {2564#(<= 0 main_~b~0)} is VALID [2022-04-28 05:52:26,323 INFO L290 TraceCheckUtils]: 29: Hoare triple {2564#(<= 0 main_~b~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:52:26,324 INFO L290 TraceCheckUtils]: 30: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:52:26,324 INFO L290 TraceCheckUtils]: 31: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:52:26,324 INFO L290 TraceCheckUtils]: 32: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} assume !false; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:52:26,324 INFO L272 TraceCheckUtils]: 33: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:26,325 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:26,325 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:26,325 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:26,326 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2475#true} {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #102#return; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:52:26,326 INFO L272 TraceCheckUtils]: 38: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:26,326 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:26,326 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:26,326 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:26,327 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2475#true} {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} #104#return; {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} is VALID [2022-04-28 05:52:26,327 INFO L272 TraceCheckUtils]: 43: Hoare triple {2571#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)) (<= 0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:52:26,328 INFO L290 TraceCheckUtils]: 44: Hoare triple {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2618#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:26,328 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-28 05:52:26,328 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-28 05:52:26,328 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 7 proven. 6 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-28 05:52:26,328 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:52:26,528 INFO L290 TraceCheckUtils]: 46: Hoare triple {2476#false} assume !false; {2476#false} is VALID [2022-04-28 05:52:26,529 INFO L290 TraceCheckUtils]: 45: Hoare triple {2618#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2476#false} is VALID [2022-04-28 05:52:26,529 INFO L290 TraceCheckUtils]: 44: Hoare triple {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2618#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:26,530 INFO L272 TraceCheckUtils]: 43: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2614#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:52:26,530 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {2475#true} {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #104#return; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:52:26,531 INFO L290 TraceCheckUtils]: 41: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:26,531 INFO L290 TraceCheckUtils]: 40: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:26,531 INFO L290 TraceCheckUtils]: 39: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:26,531 INFO L272 TraceCheckUtils]: 38: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:26,532 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2475#true} {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #102#return; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:52:26,532 INFO L290 TraceCheckUtils]: 36: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:26,532 INFO L290 TraceCheckUtils]: 35: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:26,532 INFO L290 TraceCheckUtils]: 34: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:26,532 INFO L272 TraceCheckUtils]: 33: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:26,532 INFO L290 TraceCheckUtils]: 32: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:52:26,533 INFO L290 TraceCheckUtils]: 31: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:52:26,533 INFO L290 TraceCheckUtils]: 30: Hoare triple {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:52:26,533 INFO L290 TraceCheckUtils]: 29: Hoare triple {2475#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {2634#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 05:52:26,533 INFO L290 TraceCheckUtils]: 28: Hoare triple {2475#true} assume !false; {2475#true} is VALID [2022-04-28 05:52:26,533 INFO L290 TraceCheckUtils]: 27: Hoare triple {2475#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2475#true} is VALID [2022-04-28 05:52:26,533 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2475#true} {2475#true} #100#return; {2475#true} is VALID [2022-04-28 05:52:26,534 INFO L290 TraceCheckUtils]: 25: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:26,534 INFO L290 TraceCheckUtils]: 24: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:26,534 INFO L290 TraceCheckUtils]: 23: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:26,534 INFO L272 TraceCheckUtils]: 22: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:26,534 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2475#true} {2475#true} #98#return; {2475#true} is VALID [2022-04-28 05:52:26,534 INFO L290 TraceCheckUtils]: 20: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:26,534 INFO L290 TraceCheckUtils]: 19: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:26,534 INFO L290 TraceCheckUtils]: 18: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:26,534 INFO L272 TraceCheckUtils]: 17: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:26,534 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2475#true} {2475#true} #96#return; {2475#true} is VALID [2022-04-28 05:52:26,534 INFO L290 TraceCheckUtils]: 15: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:26,534 INFO L290 TraceCheckUtils]: 14: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:26,534 INFO L290 TraceCheckUtils]: 13: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:26,534 INFO L272 TraceCheckUtils]: 12: Hoare triple {2475#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:26,535 INFO L290 TraceCheckUtils]: 11: Hoare triple {2475#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2475#true} is VALID [2022-04-28 05:52:26,535 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2475#true} {2475#true} #94#return; {2475#true} is VALID [2022-04-28 05:52:26,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:26,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {2475#true} assume !(0 == ~cond); {2475#true} is VALID [2022-04-28 05:52:26,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {2475#true} ~cond := #in~cond; {2475#true} is VALID [2022-04-28 05:52:26,535 INFO L272 TraceCheckUtils]: 6: Hoare triple {2475#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {2475#true} is VALID [2022-04-28 05:52:26,535 INFO L290 TraceCheckUtils]: 5: Hoare triple {2475#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2475#true} is VALID [2022-04-28 05:52:26,535 INFO L272 TraceCheckUtils]: 4: Hoare triple {2475#true} call #t~ret6 := main(); {2475#true} is VALID [2022-04-28 05:52:26,535 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2475#true} {2475#true} #112#return; {2475#true} is VALID [2022-04-28 05:52:26,535 INFO L290 TraceCheckUtils]: 2: Hoare triple {2475#true} assume true; {2475#true} is VALID [2022-04-28 05:52:26,535 INFO L290 TraceCheckUtils]: 1: Hoare triple {2475#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {2475#true} is VALID [2022-04-28 05:52:26,535 INFO L272 TraceCheckUtils]: 0: Hoare triple {2475#true} call ULTIMATE.init(); {2475#true} is VALID [2022-04-28 05:52:26,536 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 05:52:26,536 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:52:26,536 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1831160113] [2022-04-28 05:52:26,536 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:52:26,536 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1516552188] [2022-04-28 05:52:26,536 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1516552188] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 05:52:26,536 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:52:26,536 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [9] total 10 [2022-04-28 05:52:26,536 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:52:26,536 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1481645350] [2022-04-28 05:52:26,536 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1481645350] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:52:26,536 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:52:26,536 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:52:26,537 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1201888278] [2022-04-28 05:52:26,537 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:52:26,537 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-28 05:52:26,537 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:52:26,537 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:52:26,560 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 35 edges. 35 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:26,560 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:52:26,560 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:26,560 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:52:26,560 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=71, Unknown=0, NotChecked=0, Total=90 [2022-04-28 05:52:26,560 INFO L87 Difference]: Start difference. First operand 93 states and 122 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:52:26,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:26,934 INFO L93 Difference]: Finished difference Result 130 states and 179 transitions. [2022-04-28 05:52:26,934 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:52:26,934 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 47 [2022-04-28 05:52:26,934 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:52:26,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:52:26,936 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:52:26,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:52:26,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:52:26,938 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 05:52:26,977 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:26,980 INFO L225 Difference]: With dead ends: 130 [2022-04-28 05:52:26,980 INFO L226 Difference]: Without dead ends: 128 [2022-04-28 05:52:26,980 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=23, Invalid=87, Unknown=0, NotChecked=0, Total=110 [2022-04-28 05:52:26,981 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 8 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:52:26,981 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 141 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:52:26,981 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-28 05:52:27,207 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 123. [2022-04-28 05:52:27,207 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:52:27,208 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:52:27,208 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:52:27,208 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:52:27,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:27,212 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-28 05:52:27,212 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-28 05:52:27,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:27,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:27,213 INFO L74 IsIncluded]: Start isIncluded. First operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 128 states. [2022-04-28 05:52:27,213 INFO L87 Difference]: Start difference. First operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 128 states. [2022-04-28 05:52:27,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:52:27,217 INFO L93 Difference]: Finished difference Result 128 states and 177 transitions. [2022-04-28 05:52:27,217 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 177 transitions. [2022-04-28 05:52:27,218 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:52:27,218 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:52:27,218 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:52:27,218 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:52:27,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 123 states, 76 states have (on average 1.263157894736842) internal successors, (96), 77 states have internal predecessors, (96), 39 states have call successors, (39), 8 states have call predecessors, (39), 7 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:52:27,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 172 transitions. [2022-04-28 05:52:27,223 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 172 transitions. Word has length 47 [2022-04-28 05:52:27,223 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:52:27,223 INFO L495 AbstractCegarLoop]: Abstraction has 123 states and 172 transitions. [2022-04-28 05:52:27,224 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 05:52:27,224 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 123 states and 172 transitions. [2022-04-28 05:52:27,428 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:52:27,428 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 172 transitions. [2022-04-28 05:52:27,429 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 05:52:27,429 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:52:27,429 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:52:27,445 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-28 05:52:27,629 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:27,629 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:52:27,630 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:52:27,630 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 1 times [2022-04-28 05:52:27,630 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:52:27,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2033141851] [2022-04-28 05:52:27,630 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:52:27,630 INFO L85 PathProgramCache]: Analyzing trace with hash 1524769911, now seen corresponding path program 2 times [2022-04-28 05:52:27,630 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:52:27,630 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1509549840] [2022-04-28 05:52:27,630 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:52:27,630 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:52:27,642 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:52:27,643 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1987210782] [2022-04-28 05:52:27,643 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:52:27,643 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:52:27,643 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:52:27,646 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:52:27,648 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-28 05:52:27,681 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:52:27,681 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:52:27,682 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-28 05:52:27,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:52:27,697 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:52:36,251 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-28 05:52:36,252 INFO L290 TraceCheckUtils]: 1: Hoare triple {3530#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3530#true} is VALID [2022-04-28 05:52:36,252 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:52:36,252 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-28 05:52:36,252 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-28 05:52:36,252 INFO L290 TraceCheckUtils]: 5: Hoare triple {3530#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3530#true} is VALID [2022-04-28 05:52:36,252 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:52:36,252 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 05:52:36,252 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 05:52:36,252 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:52:36,252 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-28 05:52:36,252 INFO L290 TraceCheckUtils]: 11: Hoare triple {3530#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3530#true} is VALID [2022-04-28 05:52:36,253 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:52:36,253 INFO L290 TraceCheckUtils]: 13: Hoare triple {3530#true} ~cond := #in~cond; {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:52:36,253 INFO L290 TraceCheckUtils]: 14: Hoare triple {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:36,253 INFO L290 TraceCheckUtils]: 15: Hoare triple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:36,254 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} {3530#true} #96#return; {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-28 05:52:36,254 INFO L272 TraceCheckUtils]: 17: Hoare triple {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:52:36,254 INFO L290 TraceCheckUtils]: 18: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 05:52:36,254 INFO L290 TraceCheckUtils]: 19: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 05:52:36,254 INFO L290 TraceCheckUtils]: 20: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:52:36,255 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3530#true} {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #98#return; {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} is VALID [2022-04-28 05:52:36,255 INFO L272 TraceCheckUtils]: 22: Hoare triple {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:52:36,255 INFO L290 TraceCheckUtils]: 23: Hoare triple {3530#true} ~cond := #in~cond; {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 05:52:36,255 INFO L290 TraceCheckUtils]: 24: Hoare triple {3574#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:36,256 INFO L290 TraceCheckUtils]: 25: Hoare triple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3578#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 05:52:36,256 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3578#(not (= |assume_abort_if_not_#in~cond| 0))} {3585#(and (<= 0 main_~y~0) (<= main_~y~0 20))} #100#return; {3616#(and (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-28 05:52:36,257 INFO L290 TraceCheckUtils]: 27: Hoare triple {3616#(and (<= main_~y~0 20) (<= 1 main_~y~0))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3620#(and (= main_~r~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:52:36,257 INFO L290 TraceCheckUtils]: 28: Hoare triple {3620#(and (= main_~r~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {3620#(and (= main_~r~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:52:36,257 INFO L290 TraceCheckUtils]: 29: Hoare triple {3620#(and (= main_~r~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:52:36,258 INFO L290 TraceCheckUtils]: 30: Hoare triple {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:52:36,258 INFO L290 TraceCheckUtils]: 31: Hoare triple {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:52:36,259 INFO L290 TraceCheckUtils]: 32: Hoare triple {3627#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~q~0 0) (<= main_~y~0 20) (<= 1 main_~y~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-28 05:52:36,259 INFO L290 TraceCheckUtils]: 33: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} assume !false; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-28 05:52:36,260 INFO L290 TraceCheckUtils]: 34: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-28 05:52:36,260 INFO L290 TraceCheckUtils]: 35: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} assume !false; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-28 05:52:36,260 INFO L290 TraceCheckUtils]: 36: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-28 05:52:36,261 INFO L290 TraceCheckUtils]: 37: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} assume !false; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-28 05:52:36,261 INFO L272 TraceCheckUtils]: 38: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:52:36,261 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 05:52:36,261 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 05:52:36,261 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:52:36,262 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3530#true} {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} #102#return; {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} is VALID [2022-04-28 05:52:36,262 INFO L272 TraceCheckUtils]: 43: Hoare triple {3637#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~q~0 1) (<= main_~y~0 20) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3671#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:52:36,263 INFO L290 TraceCheckUtils]: 44: Hoare triple {3671#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3675#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:52:36,263 INFO L290 TraceCheckUtils]: 45: Hoare triple {3675#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-28 05:52:36,263 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-28 05:52:36,263 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 11 proven. 7 refuted. 0 times theorem prover too weak. 12 trivial. 0 not checked. [2022-04-28 05:52:36,263 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:54:01,753 INFO L290 TraceCheckUtils]: 46: Hoare triple {3531#false} assume !false; {3531#false} is VALID [2022-04-28 05:54:01,753 INFO L290 TraceCheckUtils]: 45: Hoare triple {3675#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3531#false} is VALID [2022-04-28 05:54:01,754 INFO L290 TraceCheckUtils]: 44: Hoare triple {3671#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3675#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:01,754 INFO L272 TraceCheckUtils]: 43: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3671#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:54:01,755 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {3530#true} {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:01,755 INFO L290 TraceCheckUtils]: 41: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:54:01,755 INFO L290 TraceCheckUtils]: 40: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 05:54:01,755 INFO L290 TraceCheckUtils]: 39: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 05:54:01,755 INFO L272 TraceCheckUtils]: 38: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:54:01,755 INFO L290 TraceCheckUtils]: 37: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:01,756 INFO L290 TraceCheckUtils]: 36: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:01,756 INFO L290 TraceCheckUtils]: 35: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:01,756 INFO L290 TraceCheckUtils]: 34: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:01,757 INFO L290 TraceCheckUtils]: 33: Hoare triple {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:02,065 INFO L290 TraceCheckUtils]: 32: Hoare triple {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {3691#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:02,066 INFO L290 TraceCheckUtils]: 31: Hoare triple {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} assume !(~c~0 >= ~b~0); {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} is VALID [2022-04-28 05:54:02,069 INFO L290 TraceCheckUtils]: 30: Hoare triple {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} assume !false; {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} is VALID [2022-04-28 05:54:02,070 INFO L290 TraceCheckUtils]: 29: Hoare triple {3735#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {3725#(forall ((main_~s~0 Int)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0))} is VALID [2022-04-28 05:54:02,070 INFO L290 TraceCheckUtils]: 28: Hoare triple {3735#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3735#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:54:02,071 INFO L290 TraceCheckUtils]: 27: Hoare triple {3530#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3735#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:54:02,071 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3530#true} {3530#true} #100#return; {3530#true} is VALID [2022-04-28 05:54:02,071 INFO L290 TraceCheckUtils]: 25: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:54:02,071 INFO L290 TraceCheckUtils]: 24: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 05:54:02,071 INFO L290 TraceCheckUtils]: 23: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 05:54:02,071 INFO L272 TraceCheckUtils]: 22: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:54:02,071 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3530#true} {3530#true} #98#return; {3530#true} is VALID [2022-04-28 05:54:02,071 INFO L290 TraceCheckUtils]: 20: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:54:02,071 INFO L290 TraceCheckUtils]: 19: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 05:54:02,071 INFO L290 TraceCheckUtils]: 18: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 05:54:02,071 INFO L272 TraceCheckUtils]: 17: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:54:02,071 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3530#true} {3530#true} #96#return; {3530#true} is VALID [2022-04-28 05:54:02,071 INFO L290 TraceCheckUtils]: 15: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:54:02,072 INFO L290 TraceCheckUtils]: 14: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 05:54:02,072 INFO L290 TraceCheckUtils]: 13: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 05:54:02,072 INFO L272 TraceCheckUtils]: 12: Hoare triple {3530#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:54:02,072 INFO L290 TraceCheckUtils]: 11: Hoare triple {3530#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3530#true} is VALID [2022-04-28 05:54:02,072 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3530#true} {3530#true} #94#return; {3530#true} is VALID [2022-04-28 05:54:02,072 INFO L290 TraceCheckUtils]: 9: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:54:02,072 INFO L290 TraceCheckUtils]: 8: Hoare triple {3530#true} assume !(0 == ~cond); {3530#true} is VALID [2022-04-28 05:54:02,072 INFO L290 TraceCheckUtils]: 7: Hoare triple {3530#true} ~cond := #in~cond; {3530#true} is VALID [2022-04-28 05:54:02,072 INFO L272 TraceCheckUtils]: 6: Hoare triple {3530#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {3530#true} is VALID [2022-04-28 05:54:02,072 INFO L290 TraceCheckUtils]: 5: Hoare triple {3530#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3530#true} is VALID [2022-04-28 05:54:02,072 INFO L272 TraceCheckUtils]: 4: Hoare triple {3530#true} call #t~ret6 := main(); {3530#true} is VALID [2022-04-28 05:54:02,072 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3530#true} {3530#true} #112#return; {3530#true} is VALID [2022-04-28 05:54:02,072 INFO L290 TraceCheckUtils]: 2: Hoare triple {3530#true} assume true; {3530#true} is VALID [2022-04-28 05:54:02,072 INFO L290 TraceCheckUtils]: 1: Hoare triple {3530#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {3530#true} is VALID [2022-04-28 05:54:02,072 INFO L272 TraceCheckUtils]: 0: Hoare triple {3530#true} call ULTIMATE.init(); {3530#true} is VALID [2022-04-28 05:54:02,073 INFO L134 CoverageAnalysis]: Checked inductivity of 30 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 05:54:02,073 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:54:02,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1509549840] [2022-04-28 05:54:02,073 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:54:02,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1987210782] [2022-04-28 05:54:02,073 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1987210782] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:54:02,073 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:54:02,073 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 7] total 14 [2022-04-28 05:54:02,073 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:54:02,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2033141851] [2022-04-28 05:54:02,073 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2033141851] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:54:02,073 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:54:02,073 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 05:54:02,073 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1612483994] [2022-04-28 05:54:02,074 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:54:02,074 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 47 [2022-04-28 05:54:02,074 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:54:02,074 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 05:54:02,107 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:02,107 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 05:54:02,107 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:02,108 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 05:54:02,108 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=147, Unknown=0, NotChecked=0, Total=182 [2022-04-28 05:54:02,109 INFO L87 Difference]: Start difference. First operand 123 states and 172 transitions. Second operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 05:54:03,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:03,218 INFO L93 Difference]: Finished difference Result 137 states and 184 transitions. [2022-04-28 05:54:03,218 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 05:54:03,218 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) Word has length 47 [2022-04-28 05:54:03,220 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:54:03,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 05:54:03,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 101 transitions. [2022-04-28 05:54:03,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 05:54:03,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 101 transitions. [2022-04-28 05:54:03,224 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 101 transitions. [2022-04-28 05:54:03,307 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:03,310 INFO L225 Difference]: With dead ends: 137 [2022-04-28 05:54:03,310 INFO L226 Difference]: Without dead ends: 135 [2022-04-28 05:54:03,310 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 96 GetRequests, 80 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 38 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=51, Invalid=221, Unknown=0, NotChecked=0, Total=272 [2022-04-28 05:54:03,310 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 58 mSDsluCounter, 184 mSDsCounter, 0 mSdLazyCounter, 253 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 70 SdHoareTripleChecker+Valid, 231 SdHoareTripleChecker+Invalid, 280 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 253 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 05:54:03,311 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [70 Valid, 231 Invalid, 280 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 253 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 05:54:03,311 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2022-04-28 05:54:03,588 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 131. [2022-04-28 05:54:03,588 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:54:03,588 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:54:03,588 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:54:03,589 INFO L87 Difference]: Start difference. First operand 135 states. Second operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:54:03,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:03,593 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-28 05:54:03,593 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-28 05:54:03,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:03,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:03,593 INFO L74 IsIncluded]: Start isIncluded. First operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 135 states. [2022-04-28 05:54:03,594 INFO L87 Difference]: Start difference. First operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) Second operand 135 states. [2022-04-28 05:54:03,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:03,597 INFO L93 Difference]: Finished difference Result 135 states and 182 transitions. [2022-04-28 05:54:03,597 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 182 transitions. [2022-04-28 05:54:03,598 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:03,598 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:03,598 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:54:03,598 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:54:03,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 131 states, 82 states have (on average 1.2439024390243902) internal successors, (102), 83 states have internal predecessors, (102), 39 states have call successors, (39), 10 states have call predecessors, (39), 9 states have return successors, (37), 37 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-28 05:54:03,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 178 transitions. [2022-04-28 05:54:03,601 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 178 transitions. Word has length 47 [2022-04-28 05:54:03,602 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:54:03,602 INFO L495 AbstractCegarLoop]: Abstraction has 131 states and 178 transitions. [2022-04-28 05:54:03,602 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 8 states have internal predecessors, (27), 3 states have call successors, (8), 2 states have call predecessors, (8), 2 states have return successors, (6), 4 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-28 05:54:03,602 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 131 states and 178 transitions. [2022-04-28 05:54:03,815 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 178 edges. 178 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:03,815 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 178 transitions. [2022-04-28 05:54:03,815 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-28 05:54:03,815 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:54:03,815 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:54:03,832 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-28 05:54:04,016 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:54:04,016 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:54:04,016 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:54:04,016 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 3 times [2022-04-28 05:54:04,016 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:04,016 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1042932738] [2022-04-28 05:54:04,017 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:54:04,017 INFO L85 PathProgramCache]: Analyzing trace with hash 1836145722, now seen corresponding path program 4 times [2022-04-28 05:54:04,017 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:54:04,017 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1828400831] [2022-04-28 05:54:04,017 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:54:04,017 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:54:04,030 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:54:04,030 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1135848690] [2022-04-28 05:54:04,030 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:54:04,030 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:54:04,030 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:54:04,036 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:54:04,037 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-28 05:54:04,083 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:54:04,083 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:54:04,084 INFO L263 TraceCheckSpWp]: Trace formula consists of 122 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 05:54:04,093 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:54:04,096 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:54:04,231 INFO L272 TraceCheckUtils]: 0: Hoare triple {4637#true} call ULTIMATE.init(); {4637#true} is VALID [2022-04-28 05:54:04,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {4637#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {4637#true} is VALID [2022-04-28 05:54:04,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-28 05:54:04,232 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4637#true} {4637#true} #112#return; {4637#true} is VALID [2022-04-28 05:54:04,232 INFO L272 TraceCheckUtils]: 4: Hoare triple {4637#true} call #t~ret6 := main(); {4637#true} is VALID [2022-04-28 05:54:04,232 INFO L290 TraceCheckUtils]: 5: Hoare triple {4637#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4637#true} is VALID [2022-04-28 05:54:04,232 INFO L272 TraceCheckUtils]: 6: Hoare triple {4637#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {4637#true} is VALID [2022-04-28 05:54:04,232 INFO L290 TraceCheckUtils]: 7: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-28 05:54:04,232 INFO L290 TraceCheckUtils]: 8: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-28 05:54:04,232 INFO L290 TraceCheckUtils]: 9: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-28 05:54:04,232 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4637#true} {4637#true} #94#return; {4637#true} is VALID [2022-04-28 05:54:04,232 INFO L290 TraceCheckUtils]: 11: Hoare triple {4637#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4637#true} is VALID [2022-04-28 05:54:04,232 INFO L272 TraceCheckUtils]: 12: Hoare triple {4637#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {4637#true} is VALID [2022-04-28 05:54:04,232 INFO L290 TraceCheckUtils]: 13: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-28 05:54:04,232 INFO L290 TraceCheckUtils]: 14: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-28 05:54:04,232 INFO L290 TraceCheckUtils]: 15: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-28 05:54:04,233 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4637#true} {4637#true} #96#return; {4637#true} is VALID [2022-04-28 05:54:04,233 INFO L272 TraceCheckUtils]: 17: Hoare triple {4637#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4637#true} is VALID [2022-04-28 05:54:04,233 INFO L290 TraceCheckUtils]: 18: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-28 05:54:04,233 INFO L290 TraceCheckUtils]: 19: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-28 05:54:04,233 INFO L290 TraceCheckUtils]: 20: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-28 05:54:04,233 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4637#true} {4637#true} #98#return; {4637#true} is VALID [2022-04-28 05:54:04,233 INFO L272 TraceCheckUtils]: 22: Hoare triple {4637#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4637#true} is VALID [2022-04-28 05:54:04,233 INFO L290 TraceCheckUtils]: 23: Hoare triple {4637#true} ~cond := #in~cond; {4637#true} is VALID [2022-04-28 05:54:04,233 INFO L290 TraceCheckUtils]: 24: Hoare triple {4637#true} assume !(0 == ~cond); {4637#true} is VALID [2022-04-28 05:54:04,233 INFO L290 TraceCheckUtils]: 25: Hoare triple {4637#true} assume true; {4637#true} is VALID [2022-04-28 05:54:04,233 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4637#true} {4637#true} #100#return; {4637#true} is VALID [2022-04-28 05:54:04,233 INFO L290 TraceCheckUtils]: 27: Hoare triple {4637#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4637#true} is VALID [2022-04-28 05:54:04,233 INFO L290 TraceCheckUtils]: 28: Hoare triple {4637#true} assume !false; {4637#true} is VALID [2022-04-28 05:54:04,233 INFO L290 TraceCheckUtils]: 29: Hoare triple {4637#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4637#true} is VALID [2022-04-28 05:54:04,235 INFO L290 TraceCheckUtils]: 30: Hoare triple {4637#true} assume !false; {4637#true} is VALID [2022-04-28 05:54:04,235 INFO L290 TraceCheckUtils]: 31: Hoare triple {4637#true} assume !(~c~0 >= ~b~0); {4735#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:54:04,236 INFO L290 TraceCheckUtils]: 32: Hoare triple {4735#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4739#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:54:04,236 INFO L290 TraceCheckUtils]: 33: Hoare triple {4739#(< main_~b~0 main_~a~0)} assume !false; {4739#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:54:04,236 INFO L290 TraceCheckUtils]: 34: Hoare triple {4739#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4746#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:54:04,237 INFO L290 TraceCheckUtils]: 35: Hoare triple {4746#(< main_~b~0 main_~c~0)} assume !false; {4746#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:54:04,237 INFO L290 TraceCheckUtils]: 36: Hoare triple {4746#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {4638#false} is VALID [2022-04-28 05:54:04,237 INFO L290 TraceCheckUtils]: 37: Hoare triple {4638#false} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {4638#false} is VALID [2022-04-28 05:54:04,237 INFO L290 TraceCheckUtils]: 38: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-28 05:54:04,237 INFO L290 TraceCheckUtils]: 39: Hoare triple {4638#false} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {4638#false} is VALID [2022-04-28 05:54:04,238 INFO L290 TraceCheckUtils]: 40: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-28 05:54:04,238 INFO L290 TraceCheckUtils]: 41: Hoare triple {4638#false} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {4638#false} is VALID [2022-04-28 05:54:04,238 INFO L290 TraceCheckUtils]: 42: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-28 05:54:04,238 INFO L272 TraceCheckUtils]: 43: Hoare triple {4638#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4638#false} is VALID [2022-04-28 05:54:04,238 INFO L290 TraceCheckUtils]: 44: Hoare triple {4638#false} ~cond := #in~cond; {4638#false} is VALID [2022-04-28 05:54:04,238 INFO L290 TraceCheckUtils]: 45: Hoare triple {4638#false} assume 0 == ~cond; {4638#false} is VALID [2022-04-28 05:54:04,238 INFO L290 TraceCheckUtils]: 46: Hoare triple {4638#false} assume !false; {4638#false} is VALID [2022-04-28 05:54:04,238 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 13 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 05:54:04,238 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:54:04,238 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:54:04,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1828400831] [2022-04-28 05:54:04,239 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:54:04,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1135848690] [2022-04-28 05:54:04,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1135848690] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:54:04,239 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:54:04,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:54:04,239 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:54:04,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1042932738] [2022-04-28 05:54:04,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1042932738] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:54:04,239 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:54:04,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:54:04,239 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1285754696] [2022-04-28 05:54:04,239 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:54:04,240 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 47 [2022-04-28 05:54:04,240 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:54:04,240 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:54:04,267 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:04,267 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:54:04,267 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:04,268 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:54:04,268 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:54:04,268 INFO L87 Difference]: Start difference. First operand 131 states and 178 transitions. Second operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:54:04,749 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:04,749 INFO L93 Difference]: Finished difference Result 170 states and 230 transitions. [2022-04-28 05:54:04,749 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 05:54:04,749 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) Word has length 47 [2022-04-28 05:54:04,750 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:54:04,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:54:04,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-28 05:54:04,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:54:04,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 102 transitions. [2022-04-28 05:54:04,752 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 102 transitions. [2022-04-28 05:54:04,823 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:04,825 INFO L225 Difference]: With dead ends: 170 [2022-04-28 05:54:04,825 INFO L226 Difference]: Without dead ends: 114 [2022-04-28 05:54:04,826 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 49 GetRequests, 44 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-04-28 05:54:04,826 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 18 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 82 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 155 SdHoareTripleChecker+Invalid, 91 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 82 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 05:54:04,826 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [22 Valid, 155 Invalid, 91 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 82 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 05:54:04,826 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 114 states. [2022-04-28 05:54:05,050 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 114 to 106. [2022-04-28 05:54:05,050 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:54:05,051 INFO L82 GeneralOperation]: Start isEquivalent. First operand 114 states. Second operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 05:54:05,051 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 05:54:05,051 INFO L87 Difference]: Start difference. First operand 114 states. Second operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 05:54:05,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:05,055 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-28 05:54:05,055 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-28 05:54:05,056 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:05,056 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:05,056 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) Second operand 114 states. [2022-04-28 05:54:05,056 INFO L87 Difference]: Start difference. First operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) Second operand 114 states. [2022-04-28 05:54:05,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:05,060 INFO L93 Difference]: Finished difference Result 114 states and 146 transitions. [2022-04-28 05:54:05,060 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 146 transitions. [2022-04-28 05:54:05,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:05,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:05,060 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:54:05,060 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:54:05,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 65 states have (on average 1.1846153846153846) internal successors, (77), 66 states have internal predecessors, (77), 31 states have call successors, (31), 10 states have call predecessors, (31), 9 states have return successors, (29), 29 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-28 05:54:05,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 137 transitions. [2022-04-28 05:54:05,063 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 137 transitions. Word has length 47 [2022-04-28 05:54:05,063 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:54:05,063 INFO L495 AbstractCegarLoop]: Abstraction has 106 states and 137 transitions. [2022-04-28 05:54:05,064 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.2) internal successors, (26), 5 states have internal predecessors, (26), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 1 states have call predecessors, (5), 1 states have call successors, (5) [2022-04-28 05:54:05,064 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 137 transitions. [2022-04-28 05:54:05,250 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 137 edges. 137 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:05,250 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 137 transitions. [2022-04-28 05:54:05,251 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 05:54:05,251 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:54:05,251 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:54:05,269 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Ended with exit code 0 [2022-04-28 05:54:05,451 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:54:05,452 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:54:05,452 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:54:05,452 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 1 times [2022-04-28 05:54:05,452 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:05,452 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [829687084] [2022-04-28 05:54:05,453 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:54:05,453 INFO L85 PathProgramCache]: Analyzing trace with hash -1952108775, now seen corresponding path program 2 times [2022-04-28 05:54:05,453 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:54:05,453 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [905694805] [2022-04-28 05:54:05,453 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:54:05,453 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:54:05,465 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:54:05,466 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1389437091] [2022-04-28 05:54:05,466 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:54:05,466 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:54:05,466 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:54:05,467 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:54:05,473 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-28 05:54:05,508 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:54:05,508 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:54:05,509 INFO L263 TraceCheckSpWp]: Trace formula consists of 144 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 05:54:05,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:54:05,520 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:54:05,628 INFO L272 TraceCheckUtils]: 0: Hoare triple {5567#true} call ULTIMATE.init(); {5567#true} is VALID [2022-04-28 05:54:05,628 INFO L290 TraceCheckUtils]: 1: Hoare triple {5567#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {5567#true} is VALID [2022-04-28 05:54:05,628 INFO L290 TraceCheckUtils]: 2: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 05:54:05,628 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5567#true} {5567#true} #112#return; {5567#true} is VALID [2022-04-28 05:54:05,628 INFO L272 TraceCheckUtils]: 4: Hoare triple {5567#true} call #t~ret6 := main(); {5567#true} is VALID [2022-04-28 05:54:05,628 INFO L290 TraceCheckUtils]: 5: Hoare triple {5567#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5567#true} is VALID [2022-04-28 05:54:05,628 INFO L272 TraceCheckUtils]: 6: Hoare triple {5567#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {5567#true} is VALID [2022-04-28 05:54:05,628 INFO L290 TraceCheckUtils]: 7: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L290 TraceCheckUtils]: 8: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L290 TraceCheckUtils]: 9: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5567#true} {5567#true} #94#return; {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L290 TraceCheckUtils]: 11: Hoare triple {5567#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L272 TraceCheckUtils]: 12: Hoare triple {5567#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L290 TraceCheckUtils]: 13: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L290 TraceCheckUtils]: 14: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L290 TraceCheckUtils]: 15: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5567#true} {5567#true} #96#return; {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L272 TraceCheckUtils]: 17: Hoare triple {5567#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L290 TraceCheckUtils]: 18: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L290 TraceCheckUtils]: 19: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L290 TraceCheckUtils]: 20: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5567#true} {5567#true} #98#return; {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L272 TraceCheckUtils]: 22: Hoare triple {5567#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5567#true} is VALID [2022-04-28 05:54:05,629 INFO L290 TraceCheckUtils]: 23: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-28 05:54:05,630 INFO L290 TraceCheckUtils]: 24: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-28 05:54:05,630 INFO L290 TraceCheckUtils]: 25: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 05:54:05,630 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5567#true} {5567#true} #100#return; {5567#true} is VALID [2022-04-28 05:54:05,630 INFO L290 TraceCheckUtils]: 27: Hoare triple {5567#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5567#true} is VALID [2022-04-28 05:54:05,630 INFO L290 TraceCheckUtils]: 28: Hoare triple {5567#true} assume !false; {5567#true} is VALID [2022-04-28 05:54:05,630 INFO L290 TraceCheckUtils]: 29: Hoare triple {5567#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {5567#true} is VALID [2022-04-28 05:54:05,630 INFO L290 TraceCheckUtils]: 30: Hoare triple {5567#true} assume !false; {5567#true} is VALID [2022-04-28 05:54:05,637 INFO L290 TraceCheckUtils]: 31: Hoare triple {5567#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:05,637 INFO L290 TraceCheckUtils]: 32: Hoare triple {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:05,637 INFO L272 TraceCheckUtils]: 33: Hoare triple {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5567#true} is VALID [2022-04-28 05:54:05,637 INFO L290 TraceCheckUtils]: 34: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-28 05:54:05,637 INFO L290 TraceCheckUtils]: 35: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-28 05:54:05,637 INFO L290 TraceCheckUtils]: 36: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 05:54:05,638 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5567#true} {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #102#return; {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:05,638 INFO L272 TraceCheckUtils]: 38: Hoare triple {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5567#true} is VALID [2022-04-28 05:54:05,638 INFO L290 TraceCheckUtils]: 39: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-28 05:54:05,638 INFO L290 TraceCheckUtils]: 40: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-28 05:54:05,638 INFO L290 TraceCheckUtils]: 41: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 05:54:05,638 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5567#true} {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #104#return; {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:05,638 INFO L272 TraceCheckUtils]: 43: Hoare triple {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5567#true} is VALID [2022-04-28 05:54:05,638 INFO L290 TraceCheckUtils]: 44: Hoare triple {5567#true} ~cond := #in~cond; {5567#true} is VALID [2022-04-28 05:54:05,639 INFO L290 TraceCheckUtils]: 45: Hoare triple {5567#true} assume !(0 == ~cond); {5567#true} is VALID [2022-04-28 05:54:05,639 INFO L290 TraceCheckUtils]: 46: Hoare triple {5567#true} assume true; {5567#true} is VALID [2022-04-28 05:54:05,639 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {5567#true} {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #106#return; {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:05,639 INFO L272 TraceCheckUtils]: 48: Hoare triple {5665#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {5717#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:54:05,640 INFO L290 TraceCheckUtils]: 49: Hoare triple {5717#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5721#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:05,640 INFO L290 TraceCheckUtils]: 50: Hoare triple {5721#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5568#false} is VALID [2022-04-28 05:54:05,640 INFO L290 TraceCheckUtils]: 51: Hoare triple {5568#false} assume !false; {5568#false} is VALID [2022-04-28 05:54:05,640 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 05:54:05,640 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:54:05,640 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:54:05,640 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [905694805] [2022-04-28 05:54:05,641 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:54:05,641 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1389437091] [2022-04-28 05:54:05,641 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1389437091] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:54:05,641 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:54:05,641 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:54:05,641 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:54:05,641 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [829687084] [2022-04-28 05:54:05,641 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [829687084] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:54:05,641 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:54:05,641 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:54:05,641 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [755847142] [2022-04-28 05:54:05,641 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:54:05,641 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-28 05:54:05,642 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:54:05,642 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:54:05,662 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:05,662 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:54:05,662 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:05,662 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:54:05,662 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:54:05,663 INFO L87 Difference]: Start difference. First operand 106 states and 137 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:54:06,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:06,054 INFO L93 Difference]: Finished difference Result 158 states and 221 transitions. [2022-04-28 05:54:06,054 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:54:06,054 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 52 [2022-04-28 05:54:06,054 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:54:06,054 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:54:06,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:54:06,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:54:06,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 05:54:06,056 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 05:54:06,084 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:06,086 INFO L225 Difference]: With dead ends: 158 [2022-04-28 05:54:06,086 INFO L226 Difference]: Without dead ends: 156 [2022-04-28 05:54:06,087 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 52 GetRequests, 48 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:54:06,087 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 9 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 156 SdHoareTripleChecker+Invalid, 50 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:54:06,087 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 156 Invalid, 50 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:54:06,088 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2022-04-28 05:54:06,395 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 140. [2022-04-28 05:54:06,395 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:54:06,395 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:54:06,396 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:54:06,396 INFO L87 Difference]: Start difference. First operand 156 states. Second operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:54:06,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:06,400 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-28 05:54:06,400 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-28 05:54:06,401 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:06,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:06,408 INFO L74 IsIncluded]: Start isIncluded. First operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) Second operand 156 states. [2022-04-28 05:54:06,408 INFO L87 Difference]: Start difference. First operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) Second operand 156 states. [2022-04-28 05:54:06,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:06,412 INFO L93 Difference]: Finished difference Result 156 states and 219 transitions. [2022-04-28 05:54:06,412 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 219 transitions. [2022-04-28 05:54:06,413 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:06,413 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:06,413 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:54:06,413 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:54:06,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 140 states, 74 states have (on average 1.162162162162162) internal successors, (86), 81 states have internal predecessors, (86), 55 states have call successors, (55), 11 states have call predecessors, (55), 10 states have return successors, (53), 47 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-28 05:54:06,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 194 transitions. [2022-04-28 05:54:06,417 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 194 transitions. Word has length 52 [2022-04-28 05:54:06,417 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:54:06,417 INFO L495 AbstractCegarLoop]: Abstraction has 140 states and 194 transitions. [2022-04-28 05:54:06,417 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 2 states have call successors, (10), 2 states have call predecessors, (10), 1 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 05:54:06,417 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 140 states and 194 transitions. [2022-04-28 05:54:06,677 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 194 edges. 194 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:06,678 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 194 transitions. [2022-04-28 05:54:06,678 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-28 05:54:06,678 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:54:06,678 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:54:06,694 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 05:54:06,879 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:54:06,879 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:54:06,879 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:54:06,879 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 1 times [2022-04-28 05:54:06,879 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:06,879 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1270234445] [2022-04-28 05:54:06,880 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:54:06,880 INFO L85 PathProgramCache]: Analyzing trace with hash 188363668, now seen corresponding path program 2 times [2022-04-28 05:54:06,880 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:54:06,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1177867831] [2022-04-28 05:54:06,880 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:54:06,880 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:54:06,896 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:54:06,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [696319607] [2022-04-28 05:54:06,897 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:54:06,898 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:54:06,898 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:54:06,907 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:54:06,908 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-28 05:54:06,949 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:54:06,949 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:54:06,950 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-28 05:54:06,959 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:54:06,960 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:54:07,565 INFO L272 TraceCheckUtils]: 0: Hoare triple {6637#true} call ULTIMATE.init(); {6637#true} is VALID [2022-04-28 05:54:07,565 INFO L290 TraceCheckUtils]: 1: Hoare triple {6637#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {6637#true} is VALID [2022-04-28 05:54:07,565 INFO L290 TraceCheckUtils]: 2: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6637#true} {6637#true} #112#return; {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L272 TraceCheckUtils]: 4: Hoare triple {6637#true} call #t~ret6 := main(); {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L290 TraceCheckUtils]: 5: Hoare triple {6637#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L272 TraceCheckUtils]: 6: Hoare triple {6637#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L290 TraceCheckUtils]: 7: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L290 TraceCheckUtils]: 8: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L290 TraceCheckUtils]: 9: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6637#true} {6637#true} #94#return; {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L290 TraceCheckUtils]: 11: Hoare triple {6637#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L272 TraceCheckUtils]: 12: Hoare triple {6637#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L290 TraceCheckUtils]: 13: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L290 TraceCheckUtils]: 14: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L290 TraceCheckUtils]: 15: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6637#true} {6637#true} #96#return; {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L272 TraceCheckUtils]: 17: Hoare triple {6637#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:07,566 INFO L290 TraceCheckUtils]: 18: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 05:54:07,567 INFO L290 TraceCheckUtils]: 19: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 05:54:07,567 INFO L290 TraceCheckUtils]: 20: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:07,567 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6637#true} {6637#true} #98#return; {6637#true} is VALID [2022-04-28 05:54:07,567 INFO L272 TraceCheckUtils]: 22: Hoare triple {6637#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:07,567 INFO L290 TraceCheckUtils]: 23: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 05:54:07,567 INFO L290 TraceCheckUtils]: 24: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 05:54:07,567 INFO L290 TraceCheckUtils]: 25: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:07,567 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6637#true} {6637#true} #100#return; {6637#true} is VALID [2022-04-28 05:54:07,567 INFO L290 TraceCheckUtils]: 27: Hoare triple {6637#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6723#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:54:07,568 INFO L290 TraceCheckUtils]: 28: Hoare triple {6723#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {6723#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:54:07,568 INFO L290 TraceCheckUtils]: 29: Hoare triple {6723#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6730#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:54:07,569 INFO L290 TraceCheckUtils]: 30: Hoare triple {6730#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {6730#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:54:07,569 INFO L290 TraceCheckUtils]: 31: Hoare triple {6730#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:54:07,569 INFO L290 TraceCheckUtils]: 32: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:54:07,569 INFO L272 TraceCheckUtils]: 33: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:07,569 INFO L290 TraceCheckUtils]: 34: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 05:54:07,570 INFO L290 TraceCheckUtils]: 35: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 05:54:07,570 INFO L290 TraceCheckUtils]: 36: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:07,570 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6637#true} {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:54:07,570 INFO L272 TraceCheckUtils]: 38: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:07,571 INFO L290 TraceCheckUtils]: 39: Hoare triple {6637#true} ~cond := #in~cond; {6762#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:07,571 INFO L290 TraceCheckUtils]: 40: Hoare triple {6762#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:07,571 INFO L290 TraceCheckUtils]: 41: Hoare triple {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:07,572 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:54:07,572 INFO L272 TraceCheckUtils]: 43: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:07,572 INFO L290 TraceCheckUtils]: 44: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 05:54:07,572 INFO L290 TraceCheckUtils]: 45: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 05:54:07,572 INFO L290 TraceCheckUtils]: 46: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:07,573 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6637#true} {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:54:07,573 INFO L272 TraceCheckUtils]: 48: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:07,573 INFO L290 TraceCheckUtils]: 49: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 05:54:07,573 INFO L290 TraceCheckUtils]: 50: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 05:54:07,573 INFO L290 TraceCheckUtils]: 51: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:07,574 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6637#true} {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:54:07,574 INFO L290 TraceCheckUtils]: 53: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:54:07,575 INFO L290 TraceCheckUtils]: 54: Hoare triple {6737#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:54:07,575 INFO L290 TraceCheckUtils]: 55: Hoare triple {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:54:07,576 INFO L290 TraceCheckUtils]: 56: Hoare triple {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 05:54:07,576 INFO L290 TraceCheckUtils]: 57: Hoare triple {6809#(and (= main_~r~0 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~b~0 main_~y~0) (= main_~k~0 1) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6819#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 05:54:07,576 INFO L290 TraceCheckUtils]: 58: Hoare triple {6819#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} assume !false; {6819#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 05:54:07,577 INFO L290 TraceCheckUtils]: 59: Hoare triple {6819#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (+ main_~s~0 1) 0))} assume !(0 != ~b~0); {6826#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 1) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) 0))} is VALID [2022-04-28 05:54:07,578 INFO L272 TraceCheckUtils]: 60: Hoare triple {6826#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 1) 0) (= (+ (* (- 1) main_~a~0) main_~x~0) 0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {6830#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:54:07,578 INFO L290 TraceCheckUtils]: 61: Hoare triple {6830#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6834#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:07,578 INFO L290 TraceCheckUtils]: 62: Hoare triple {6834#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6638#false} is VALID [2022-04-28 05:54:07,578 INFO L290 TraceCheckUtils]: 63: Hoare triple {6638#false} assume !false; {6638#false} is VALID [2022-04-28 05:54:07,578 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 05:54:07,579 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:54:18,961 INFO L290 TraceCheckUtils]: 63: Hoare triple {6638#false} assume !false; {6638#false} is VALID [2022-04-28 05:54:18,961 INFO L290 TraceCheckUtils]: 62: Hoare triple {6834#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6638#false} is VALID [2022-04-28 05:54:18,962 INFO L290 TraceCheckUtils]: 61: Hoare triple {6830#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6834#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:18,962 INFO L272 TraceCheckUtils]: 60: Hoare triple {6850#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {6830#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:54:18,963 INFO L290 TraceCheckUtils]: 59: Hoare triple {6854#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {6850#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:54:18,963 INFO L290 TraceCheckUtils]: 58: Hoare triple {6854#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {6854#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-28 05:54:19,037 INFO L290 TraceCheckUtils]: 57: Hoare triple {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {6854#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-28 05:54:19,037 INFO L290 TraceCheckUtils]: 56: Hoare triple {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:54:19,038 INFO L290 TraceCheckUtils]: 55: Hoare triple {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:54:19,141 INFO L290 TraceCheckUtils]: 54: Hoare triple {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {6861#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:54:19,142 INFO L290 TraceCheckUtils]: 53: Hoare triple {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:54:19,143 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {6637#true} {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:54:19,143 INFO L290 TraceCheckUtils]: 51: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:19,143 INFO L290 TraceCheckUtils]: 50: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 05:54:19,143 INFO L290 TraceCheckUtils]: 49: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 05:54:19,143 INFO L272 TraceCheckUtils]: 48: Hoare triple {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:19,144 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6637#true} {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:54:19,144 INFO L290 TraceCheckUtils]: 46: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:19,144 INFO L290 TraceCheckUtils]: 45: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 05:54:19,144 INFO L290 TraceCheckUtils]: 44: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 05:54:19,144 INFO L272 TraceCheckUtils]: 43: Hoare triple {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:19,145 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {6871#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:54:19,145 INFO L290 TraceCheckUtils]: 41: Hoare triple {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:19,145 INFO L290 TraceCheckUtils]: 40: Hoare triple {6918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6766#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:19,146 INFO L290 TraceCheckUtils]: 39: Hoare triple {6637#true} ~cond := #in~cond; {6918#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:54:19,146 INFO L272 TraceCheckUtils]: 38: Hoare triple {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:19,146 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {6637#true} {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:54:19,147 INFO L290 TraceCheckUtils]: 36: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:19,147 INFO L290 TraceCheckUtils]: 35: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 05:54:19,147 INFO L290 TraceCheckUtils]: 34: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 05:54:19,147 INFO L272 TraceCheckUtils]: 33: Hoare triple {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:19,147 INFO L290 TraceCheckUtils]: 32: Hoare triple {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:54:19,148 INFO L290 TraceCheckUtils]: 31: Hoare triple {6943#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {6908#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:54:19,149 INFO L290 TraceCheckUtils]: 30: Hoare triple {6943#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} assume !false; {6943#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:54:19,149 INFO L290 TraceCheckUtils]: 29: Hoare triple {6950#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {6943#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:54:19,150 INFO L290 TraceCheckUtils]: 28: Hoare triple {6950#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} assume !false; {6950#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:54:19,150 INFO L290 TraceCheckUtils]: 27: Hoare triple {6637#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6950#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-28 05:54:19,150 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {6637#true} {6637#true} #100#return; {6637#true} is VALID [2022-04-28 05:54:19,150 INFO L290 TraceCheckUtils]: 25: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:19,150 INFO L290 TraceCheckUtils]: 24: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 05:54:19,150 INFO L290 TraceCheckUtils]: 23: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 05:54:19,150 INFO L272 TraceCheckUtils]: 22: Hoare triple {6637#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:19,150 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6637#true} {6637#true} #98#return; {6637#true} is VALID [2022-04-28 05:54:19,150 INFO L290 TraceCheckUtils]: 20: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:19,151 INFO L290 TraceCheckUtils]: 19: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 05:54:19,151 INFO L290 TraceCheckUtils]: 18: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 05:54:19,151 INFO L272 TraceCheckUtils]: 17: Hoare triple {6637#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:19,151 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6637#true} {6637#true} #96#return; {6637#true} is VALID [2022-04-28 05:54:19,151 INFO L290 TraceCheckUtils]: 15: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:19,151 INFO L290 TraceCheckUtils]: 14: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 05:54:19,152 INFO L290 TraceCheckUtils]: 13: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 05:54:19,152 INFO L272 TraceCheckUtils]: 12: Hoare triple {6637#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:19,152 INFO L290 TraceCheckUtils]: 11: Hoare triple {6637#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6637#true} is VALID [2022-04-28 05:54:19,152 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6637#true} {6637#true} #94#return; {6637#true} is VALID [2022-04-28 05:54:19,152 INFO L290 TraceCheckUtils]: 9: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:19,152 INFO L290 TraceCheckUtils]: 8: Hoare triple {6637#true} assume !(0 == ~cond); {6637#true} is VALID [2022-04-28 05:54:19,152 INFO L290 TraceCheckUtils]: 7: Hoare triple {6637#true} ~cond := #in~cond; {6637#true} is VALID [2022-04-28 05:54:19,152 INFO L272 TraceCheckUtils]: 6: Hoare triple {6637#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {6637#true} is VALID [2022-04-28 05:54:19,152 INFO L290 TraceCheckUtils]: 5: Hoare triple {6637#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {6637#true} is VALID [2022-04-28 05:54:19,152 INFO L272 TraceCheckUtils]: 4: Hoare triple {6637#true} call #t~ret6 := main(); {6637#true} is VALID [2022-04-28 05:54:19,152 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6637#true} {6637#true} #112#return; {6637#true} is VALID [2022-04-28 05:54:19,153 INFO L290 TraceCheckUtils]: 2: Hoare triple {6637#true} assume true; {6637#true} is VALID [2022-04-28 05:54:19,153 INFO L290 TraceCheckUtils]: 1: Hoare triple {6637#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {6637#true} is VALID [2022-04-28 05:54:19,153 INFO L272 TraceCheckUtils]: 0: Hoare triple {6637#true} call ULTIMATE.init(); {6637#true} is VALID [2022-04-28 05:54:19,153 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 05:54:19,153 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:54:19,153 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1177867831] [2022-04-28 05:54:19,153 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:54:19,153 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [696319607] [2022-04-28 05:54:19,153 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [696319607] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:54:19,153 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:54:19,153 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 20 [2022-04-28 05:54:19,154 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:54:19,154 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1270234445] [2022-04-28 05:54:19,154 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1270234445] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:54:19,154 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:54:19,154 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 05:54:19,154 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [726496707] [2022-04-28 05:54:19,154 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:54:19,154 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 64 [2022-04-28 05:54:19,154 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:54:19,156 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:19,195 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:19,196 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 05:54:19,196 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:19,196 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 05:54:19,196 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=321, Unknown=0, NotChecked=0, Total=380 [2022-04-28 05:54:19,196 INFO L87 Difference]: Start difference. First operand 140 states and 194 transitions. Second operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:21,250 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:21,251 INFO L93 Difference]: Finished difference Result 200 states and 283 transitions. [2022-04-28 05:54:21,251 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 05:54:21,251 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 64 [2022-04-28 05:54:21,251 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:54:21,251 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:21,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-28 05:54:21,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:21,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 131 transitions. [2022-04-28 05:54:21,255 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 131 transitions. [2022-04-28 05:54:21,386 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:21,390 INFO L225 Difference]: With dead ends: 200 [2022-04-28 05:54:21,390 INFO L226 Difference]: Without dead ends: 197 [2022-04-28 05:54:21,390 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 108 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 74 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=107, Invalid=543, Unknown=0, NotChecked=0, Total=650 [2022-04-28 05:54:21,390 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 54 mSDsluCounter, 230 mSDsCounter, 0 mSdLazyCounter, 559 mSolverCounterSat, 58 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 62 SdHoareTripleChecker+Valid, 275 SdHoareTripleChecker+Invalid, 617 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 58 IncrementalHoareTripleChecker+Valid, 559 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 05:54:21,391 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [62 Valid, 275 Invalid, 617 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [58 Valid, 559 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 05:54:21,391 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-28 05:54:21,838 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 193. [2022-04-28 05:54:21,839 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:54:21,839 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:21,839 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:21,840 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:21,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:21,860 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-28 05:54:21,860 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-28 05:54:21,861 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:21,861 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:21,862 INFO L74 IsIncluded]: Start isIncluded. First operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) Second operand 197 states. [2022-04-28 05:54:21,862 INFO L87 Difference]: Start difference. First operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) Second operand 197 states. [2022-04-28 05:54:21,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:21,869 INFO L93 Difference]: Finished difference Result 197 states and 279 transitions. [2022-04-28 05:54:21,869 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 279 transitions. [2022-04-28 05:54:21,869 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:21,869 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:21,869 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:54:21,869 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:54:21,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 193 states, 101 states have (on average 1.1782178217821782) internal successors, (119), 110 states have internal predecessors, (119), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 69 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:21,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 275 transitions. [2022-04-28 05:54:21,876 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 275 transitions. Word has length 64 [2022-04-28 05:54:21,882 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:54:21,883 INFO L495 AbstractCegarLoop]: Abstraction has 193 states and 275 transitions. [2022-04-28 05:54:21,883 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.6363636363636362) internal successors, (29), 11 states have internal predecessors, (29), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:21,883 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 275 transitions. [2022-04-28 05:54:22,257 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 275 edges. 275 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:22,257 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 275 transitions. [2022-04-28 05:54:22,258 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 05:54:22,258 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:54:22,258 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:54:22,274 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-28 05:54:22,458 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-28 05:54:22,458 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:54:22,459 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:54:22,459 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 3 times [2022-04-28 05:54:22,459 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:22,459 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1003497616] [2022-04-28 05:54:22,459 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:54:22,459 INFO L85 PathProgramCache]: Analyzing trace with hash -368004398, now seen corresponding path program 4 times [2022-04-28 05:54:22,459 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:54:22,459 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1393377596] [2022-04-28 05:54:22,460 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:54:22,460 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:54:22,475 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:54:22,475 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [550515232] [2022-04-28 05:54:22,475 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:54:22,475 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:54:22,475 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:54:22,476 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:54:22,477 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-28 05:54:22,516 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:54:22,516 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:54:22,517 INFO L263 TraceCheckSpWp]: Trace formula consists of 160 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 05:54:22,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:54:22,528 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:54:22,758 INFO L272 TraceCheckUtils]: 0: Hoare triple {8232#true} call ULTIMATE.init(); {8232#true} is VALID [2022-04-28 05:54:22,758 INFO L290 TraceCheckUtils]: 1: Hoare triple {8232#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {8232#true} is VALID [2022-04-28 05:54:22,758 INFO L290 TraceCheckUtils]: 2: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,758 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8232#true} {8232#true} #112#return; {8232#true} is VALID [2022-04-28 05:54:22,758 INFO L272 TraceCheckUtils]: 4: Hoare triple {8232#true} call #t~ret6 := main(); {8232#true} is VALID [2022-04-28 05:54:22,758 INFO L290 TraceCheckUtils]: 5: Hoare triple {8232#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8232#true} is VALID [2022-04-28 05:54:22,758 INFO L272 TraceCheckUtils]: 6: Hoare triple {8232#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,758 INFO L290 TraceCheckUtils]: 7: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L290 TraceCheckUtils]: 8: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L290 TraceCheckUtils]: 9: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8232#true} {8232#true} #94#return; {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L290 TraceCheckUtils]: 11: Hoare triple {8232#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L272 TraceCheckUtils]: 12: Hoare triple {8232#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L290 TraceCheckUtils]: 13: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L290 TraceCheckUtils]: 14: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L290 TraceCheckUtils]: 15: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8232#true} {8232#true} #96#return; {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L272 TraceCheckUtils]: 17: Hoare triple {8232#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L290 TraceCheckUtils]: 18: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L290 TraceCheckUtils]: 19: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L290 TraceCheckUtils]: 20: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8232#true} {8232#true} #98#return; {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L272 TraceCheckUtils]: 22: Hoare triple {8232#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L290 TraceCheckUtils]: 23: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,759 INFO L290 TraceCheckUtils]: 24: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,760 INFO L290 TraceCheckUtils]: 25: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,760 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8232#true} {8232#true} #100#return; {8232#true} is VALID [2022-04-28 05:54:22,760 INFO L290 TraceCheckUtils]: 27: Hoare triple {8232#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8232#true} is VALID [2022-04-28 05:54:22,760 INFO L290 TraceCheckUtils]: 28: Hoare triple {8232#true} assume !false; {8232#true} is VALID [2022-04-28 05:54:22,760 INFO L290 TraceCheckUtils]: 29: Hoare triple {8232#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8232#true} is VALID [2022-04-28 05:54:22,760 INFO L290 TraceCheckUtils]: 30: Hoare triple {8232#true} assume !false; {8232#true} is VALID [2022-04-28 05:54:22,760 INFO L290 TraceCheckUtils]: 31: Hoare triple {8232#true} assume !(~c~0 >= ~b~0); {8330#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:54:22,760 INFO L290 TraceCheckUtils]: 32: Hoare triple {8330#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8334#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:54:22,761 INFO L290 TraceCheckUtils]: 33: Hoare triple {8334#(< main_~b~0 main_~a~0)} assume !false; {8334#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:54:22,761 INFO L290 TraceCheckUtils]: 34: Hoare triple {8334#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8341#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:54:22,761 INFO L290 TraceCheckUtils]: 35: Hoare triple {8341#(< main_~b~0 main_~c~0)} assume !false; {8341#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:54:22,762 INFO L290 TraceCheckUtils]: 36: Hoare triple {8341#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:54:22,762 INFO L290 TraceCheckUtils]: 37: Hoare triple {8348#(< main_~v~0 main_~c~0)} assume !false; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:54:22,762 INFO L272 TraceCheckUtils]: 38: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,762 INFO L290 TraceCheckUtils]: 39: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,762 INFO L290 TraceCheckUtils]: 40: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,762 INFO L290 TraceCheckUtils]: 41: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,763 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #102#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:54:22,763 INFO L272 TraceCheckUtils]: 43: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,763 INFO L290 TraceCheckUtils]: 44: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,763 INFO L290 TraceCheckUtils]: 45: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,763 INFO L290 TraceCheckUtils]: 46: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,764 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #104#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:54:22,764 INFO L272 TraceCheckUtils]: 48: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,764 INFO L290 TraceCheckUtils]: 49: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,764 INFO L290 TraceCheckUtils]: 50: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,764 INFO L290 TraceCheckUtils]: 51: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,764 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #106#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:54:22,764 INFO L272 TraceCheckUtils]: 53: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,765 INFO L290 TraceCheckUtils]: 54: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,765 INFO L290 TraceCheckUtils]: 55: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,765 INFO L290 TraceCheckUtils]: 56: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,765 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #108#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:54:22,765 INFO L290 TraceCheckUtils]: 58: Hoare triple {8348#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:54:22,766 INFO L290 TraceCheckUtils]: 59: Hoare triple {8348#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8418#(< 0 main_~c~0)} is VALID [2022-04-28 05:54:22,766 INFO L290 TraceCheckUtils]: 60: Hoare triple {8418#(< 0 main_~c~0)} assume !false; {8418#(< 0 main_~c~0)} is VALID [2022-04-28 05:54:22,766 INFO L290 TraceCheckUtils]: 61: Hoare triple {8418#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8418#(< 0 main_~c~0)} is VALID [2022-04-28 05:54:22,767 INFO L290 TraceCheckUtils]: 62: Hoare triple {8418#(< 0 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8428#(< 0 main_~b~0)} is VALID [2022-04-28 05:54:22,767 INFO L290 TraceCheckUtils]: 63: Hoare triple {8428#(< 0 main_~b~0)} assume !false; {8428#(< 0 main_~b~0)} is VALID [2022-04-28 05:54:22,767 INFO L290 TraceCheckUtils]: 64: Hoare triple {8428#(< 0 main_~b~0)} assume !(0 != ~b~0); {8233#false} is VALID [2022-04-28 05:54:22,767 INFO L272 TraceCheckUtils]: 65: Hoare triple {8233#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {8233#false} is VALID [2022-04-28 05:54:22,768 INFO L290 TraceCheckUtils]: 66: Hoare triple {8233#false} ~cond := #in~cond; {8233#false} is VALID [2022-04-28 05:54:22,768 INFO L290 TraceCheckUtils]: 67: Hoare triple {8233#false} assume 0 == ~cond; {8233#false} is VALID [2022-04-28 05:54:22,768 INFO L290 TraceCheckUtils]: 68: Hoare triple {8233#false} assume !false; {8233#false} is VALID [2022-04-28 05:54:22,768 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 16 proven. 5 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 05:54:22,768 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:54:22,989 INFO L290 TraceCheckUtils]: 68: Hoare triple {8233#false} assume !false; {8233#false} is VALID [2022-04-28 05:54:22,989 INFO L290 TraceCheckUtils]: 67: Hoare triple {8233#false} assume 0 == ~cond; {8233#false} is VALID [2022-04-28 05:54:22,989 INFO L290 TraceCheckUtils]: 66: Hoare triple {8233#false} ~cond := #in~cond; {8233#false} is VALID [2022-04-28 05:54:22,989 INFO L272 TraceCheckUtils]: 65: Hoare triple {8233#false} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {8233#false} is VALID [2022-04-28 05:54:22,989 INFO L290 TraceCheckUtils]: 64: Hoare triple {8428#(< 0 main_~b~0)} assume !(0 != ~b~0); {8233#false} is VALID [2022-04-28 05:54:22,990 INFO L290 TraceCheckUtils]: 63: Hoare triple {8428#(< 0 main_~b~0)} assume !false; {8428#(< 0 main_~b~0)} is VALID [2022-04-28 05:54:22,991 INFO L290 TraceCheckUtils]: 62: Hoare triple {8418#(< 0 main_~c~0)} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8428#(< 0 main_~b~0)} is VALID [2022-04-28 05:54:22,991 INFO L290 TraceCheckUtils]: 61: Hoare triple {8418#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {8418#(< 0 main_~c~0)} is VALID [2022-04-28 05:54:22,992 INFO L290 TraceCheckUtils]: 60: Hoare triple {8418#(< 0 main_~c~0)} assume !false; {8418#(< 0 main_~c~0)} is VALID [2022-04-28 05:54:22,992 INFO L290 TraceCheckUtils]: 59: Hoare triple {8348#(< main_~v~0 main_~c~0)} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {8418#(< 0 main_~c~0)} is VALID [2022-04-28 05:54:22,992 INFO L290 TraceCheckUtils]: 58: Hoare triple {8348#(< main_~v~0 main_~c~0)} assume !(~c~0 >= 2 * ~v~0); {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:54:22,993 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #108#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:54:22,993 INFO L290 TraceCheckUtils]: 56: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,993 INFO L290 TraceCheckUtils]: 55: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,993 INFO L290 TraceCheckUtils]: 54: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,993 INFO L272 TraceCheckUtils]: 53: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,994 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #106#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:54:22,994 INFO L290 TraceCheckUtils]: 51: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,994 INFO L290 TraceCheckUtils]: 50: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,994 INFO L290 TraceCheckUtils]: 49: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,994 INFO L272 TraceCheckUtils]: 48: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,994 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #104#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:54:22,994 INFO L290 TraceCheckUtils]: 46: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,994 INFO L290 TraceCheckUtils]: 45: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,994 INFO L290 TraceCheckUtils]: 44: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,995 INFO L272 TraceCheckUtils]: 43: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,995 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8232#true} {8348#(< main_~v~0 main_~c~0)} #102#return; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:54:22,995 INFO L290 TraceCheckUtils]: 41: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,995 INFO L290 TraceCheckUtils]: 40: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,995 INFO L290 TraceCheckUtils]: 39: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,995 INFO L272 TraceCheckUtils]: 38: Hoare triple {8348#(< main_~v~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,995 INFO L290 TraceCheckUtils]: 37: Hoare triple {8348#(< main_~v~0 main_~c~0)} assume !false; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:54:22,996 INFO L290 TraceCheckUtils]: 36: Hoare triple {8341#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {8348#(< main_~v~0 main_~c~0)} is VALID [2022-04-28 05:54:22,996 INFO L290 TraceCheckUtils]: 35: Hoare triple {8341#(< main_~b~0 main_~c~0)} assume !false; {8341#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:54:22,996 INFO L290 TraceCheckUtils]: 34: Hoare triple {8334#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8341#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 05:54:22,997 INFO L290 TraceCheckUtils]: 33: Hoare triple {8334#(< main_~b~0 main_~a~0)} assume !false; {8334#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:54:22,997 INFO L290 TraceCheckUtils]: 32: Hoare triple {8330#(not (<= main_~b~0 main_~c~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {8334#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 05:54:22,997 INFO L290 TraceCheckUtils]: 31: Hoare triple {8232#true} assume !(~c~0 >= ~b~0); {8330#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 05:54:22,997 INFO L290 TraceCheckUtils]: 30: Hoare triple {8232#true} assume !false; {8232#true} is VALID [2022-04-28 05:54:22,997 INFO L290 TraceCheckUtils]: 29: Hoare triple {8232#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L290 TraceCheckUtils]: 28: Hoare triple {8232#true} assume !false; {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L290 TraceCheckUtils]: 27: Hoare triple {8232#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8232#true} {8232#true} #100#return; {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L290 TraceCheckUtils]: 25: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L290 TraceCheckUtils]: 24: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L290 TraceCheckUtils]: 23: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L272 TraceCheckUtils]: 22: Hoare triple {8232#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8232#true} {8232#true} #98#return; {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L290 TraceCheckUtils]: 20: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L290 TraceCheckUtils]: 19: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L290 TraceCheckUtils]: 18: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L272 TraceCheckUtils]: 17: Hoare triple {8232#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8232#true} {8232#true} #96#return; {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L290 TraceCheckUtils]: 15: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L290 TraceCheckUtils]: 14: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L290 TraceCheckUtils]: 13: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,998 INFO L272 TraceCheckUtils]: 12: Hoare triple {8232#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,999 INFO L290 TraceCheckUtils]: 11: Hoare triple {8232#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8232#true} is VALID [2022-04-28 05:54:22,999 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8232#true} {8232#true} #94#return; {8232#true} is VALID [2022-04-28 05:54:22,999 INFO L290 TraceCheckUtils]: 9: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,999 INFO L290 TraceCheckUtils]: 8: Hoare triple {8232#true} assume !(0 == ~cond); {8232#true} is VALID [2022-04-28 05:54:22,999 INFO L290 TraceCheckUtils]: 7: Hoare triple {8232#true} ~cond := #in~cond; {8232#true} is VALID [2022-04-28 05:54:22,999 INFO L272 TraceCheckUtils]: 6: Hoare triple {8232#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {8232#true} is VALID [2022-04-28 05:54:22,999 INFO L290 TraceCheckUtils]: 5: Hoare triple {8232#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8232#true} is VALID [2022-04-28 05:54:22,999 INFO L272 TraceCheckUtils]: 4: Hoare triple {8232#true} call #t~ret6 := main(); {8232#true} is VALID [2022-04-28 05:54:22,999 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8232#true} {8232#true} #112#return; {8232#true} is VALID [2022-04-28 05:54:22,999 INFO L290 TraceCheckUtils]: 2: Hoare triple {8232#true} assume true; {8232#true} is VALID [2022-04-28 05:54:22,999 INFO L290 TraceCheckUtils]: 1: Hoare triple {8232#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {8232#true} is VALID [2022-04-28 05:54:22,999 INFO L272 TraceCheckUtils]: 0: Hoare triple {8232#true} call ULTIMATE.init(); {8232#true} is VALID [2022-04-28 05:54:22,999 INFO L134 CoverageAnalysis]: Checked inductivity of 69 backedges. 16 proven. 5 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 05:54:22,999 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:54:23,000 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1393377596] [2022-04-28 05:54:23,000 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:54:23,000 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [550515232] [2022-04-28 05:54:23,000 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [550515232] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:54:23,000 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:54:23,000 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 8 [2022-04-28 05:54:23,000 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:54:23,000 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1003497616] [2022-04-28 05:54:23,000 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1003497616] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:54:23,000 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:54:23,000 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:54:23,000 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2039123069] [2022-04-28 05:54:23,000 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:54:23,001 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-28 05:54:23,002 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:54:23,002 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:23,034 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:23,035 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:54:23,035 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:23,035 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:54:23,035 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=43, Unknown=0, NotChecked=0, Total=56 [2022-04-28 05:54:23,035 INFO L87 Difference]: Start difference. First operand 193 states and 275 transitions. Second operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:24,870 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:24,870 INFO L93 Difference]: Finished difference Result 288 states and 424 transitions. [2022-04-28 05:54:24,870 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 05:54:24,870 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 69 [2022-04-28 05:54:24,870 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:54:24,871 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:24,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-28 05:54:24,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:24,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-28 05:54:24,892 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 158 transitions. [2022-04-28 05:54:25,042 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:25,050 INFO L225 Difference]: With dead ends: 288 [2022-04-28 05:54:25,050 INFO L226 Difference]: Without dead ends: 281 [2022-04-28 05:54:25,050 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 153 GetRequests, 134 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=93, Invalid=249, Unknown=0, NotChecked=0, Total=342 [2022-04-28 05:54:25,051 INFO L413 NwaCegarLoop]: 87 mSDtfsCounter, 46 mSDsluCounter, 231 mSDsCounter, 0 mSdLazyCounter, 280 mSolverCounterSat, 83 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 318 SdHoareTripleChecker+Invalid, 363 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 83 IncrementalHoareTripleChecker+Valid, 280 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 05:54:25,052 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 318 Invalid, 363 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [83 Valid, 280 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 05:54:25,052 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 281 states. [2022-04-28 05:54:25,439 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 281 to 208. [2022-04-28 05:54:25,439 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:54:25,439 INFO L82 GeneralOperation]: Start isEquivalent. First operand 281 states. Second operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:25,440 INFO L74 IsIncluded]: Start isIncluded. First operand 281 states. Second operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:25,441 INFO L87 Difference]: Start difference. First operand 281 states. Second operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:25,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:25,477 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-28 05:54:25,477 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-28 05:54:25,478 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:25,478 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:25,479 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 281 states. [2022-04-28 05:54:25,479 INFO L87 Difference]: Start difference. First operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 281 states. [2022-04-28 05:54:25,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:25,489 INFO L93 Difference]: Finished difference Result 281 states and 417 transitions. [2022-04-28 05:54:25,489 INFO L276 IsEmpty]: Start isEmpty. Operand 281 states and 417 transitions. [2022-04-28 05:54:25,490 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:25,490 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:25,490 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:54:25,490 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:54:25,499 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 116 states have (on average 1.206896551724138) internal successors, (140), 122 states have internal predecessors, (140), 79 states have call successors, (79), 13 states have call predecessors, (79), 12 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:25,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 296 transitions. [2022-04-28 05:54:25,519 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 296 transitions. Word has length 69 [2022-04-28 05:54:25,520 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:54:25,520 INFO L495 AbstractCegarLoop]: Abstraction has 208 states and 296 transitions. [2022-04-28 05:54:25,520 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.875) internal successors, (31), 8 states have internal predecessors, (31), 3 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:25,520 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 296 transitions. [2022-04-28 05:54:25,953 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 296 edges. 296 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:25,953 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 296 transitions. [2022-04-28 05:54:25,954 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 75 [2022-04-28 05:54:25,954 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:54:25,954 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:54:25,973 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-28 05:54:26,175 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-28 05:54:26,176 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:54:26,177 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:54:26,177 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 1 times [2022-04-28 05:54:26,177 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:26,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [984279079] [2022-04-28 05:54:26,178 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:54:26,178 INFO L85 PathProgramCache]: Analyzing trace with hash -298771846, now seen corresponding path program 2 times [2022-04-28 05:54:26,178 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:54:26,178 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [630929973] [2022-04-28 05:54:26,179 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:54:26,179 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:54:26,218 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:54:26,219 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [293913864] [2022-04-28 05:54:26,219 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:54:26,219 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:54:26,219 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:54:26,231 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:54:26,234 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 05:54:26,277 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:54:26,278 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:54:26,278 INFO L263 TraceCheckSpWp]: Trace formula consists of 186 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 05:54:26,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:54:26,286 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:54:26,439 INFO L272 TraceCheckUtils]: 0: Hoare triple {10234#true} call ULTIMATE.init(); {10234#true} is VALID [2022-04-28 05:54:26,439 INFO L290 TraceCheckUtils]: 1: Hoare triple {10234#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {10234#true} is VALID [2022-04-28 05:54:26,439 INFO L290 TraceCheckUtils]: 2: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,439 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10234#true} {10234#true} #112#return; {10234#true} is VALID [2022-04-28 05:54:26,439 INFO L272 TraceCheckUtils]: 4: Hoare triple {10234#true} call #t~ret6 := main(); {10234#true} is VALID [2022-04-28 05:54:26,439 INFO L290 TraceCheckUtils]: 5: Hoare triple {10234#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10234#true} is VALID [2022-04-28 05:54:26,439 INFO L272 TraceCheckUtils]: 6: Hoare triple {10234#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L290 TraceCheckUtils]: 7: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L290 TraceCheckUtils]: 8: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L290 TraceCheckUtils]: 9: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10234#true} {10234#true} #94#return; {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L290 TraceCheckUtils]: 11: Hoare triple {10234#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L272 TraceCheckUtils]: 12: Hoare triple {10234#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L290 TraceCheckUtils]: 13: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L290 TraceCheckUtils]: 14: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L290 TraceCheckUtils]: 15: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10234#true} {10234#true} #96#return; {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L272 TraceCheckUtils]: 17: Hoare triple {10234#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L290 TraceCheckUtils]: 18: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L290 TraceCheckUtils]: 19: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L290 TraceCheckUtils]: 20: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10234#true} {10234#true} #98#return; {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L272 TraceCheckUtils]: 22: Hoare triple {10234#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L290 TraceCheckUtils]: 23: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,440 INFO L290 TraceCheckUtils]: 24: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,441 INFO L290 TraceCheckUtils]: 25: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,441 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10234#true} {10234#true} #100#return; {10234#true} is VALID [2022-04-28 05:54:26,441 INFO L290 TraceCheckUtils]: 27: Hoare triple {10234#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10234#true} is VALID [2022-04-28 05:54:26,441 INFO L290 TraceCheckUtils]: 28: Hoare triple {10234#true} assume !false; {10234#true} is VALID [2022-04-28 05:54:26,441 INFO L290 TraceCheckUtils]: 29: Hoare triple {10234#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10234#true} is VALID [2022-04-28 05:54:26,441 INFO L290 TraceCheckUtils]: 30: Hoare triple {10234#true} assume !false; {10234#true} is VALID [2022-04-28 05:54:26,441 INFO L290 TraceCheckUtils]: 31: Hoare triple {10234#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:26,441 INFO L290 TraceCheckUtils]: 32: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !false; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:26,441 INFO L272 TraceCheckUtils]: 33: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,441 INFO L290 TraceCheckUtils]: 34: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,442 INFO L290 TraceCheckUtils]: 35: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,442 INFO L290 TraceCheckUtils]: 36: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,442 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10234#true} {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #102#return; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:26,442 INFO L272 TraceCheckUtils]: 38: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,442 INFO L290 TraceCheckUtils]: 39: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,442 INFO L290 TraceCheckUtils]: 40: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,442 INFO L290 TraceCheckUtils]: 41: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,443 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10234#true} {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #104#return; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:26,443 INFO L272 TraceCheckUtils]: 43: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,443 INFO L290 TraceCheckUtils]: 44: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,443 INFO L290 TraceCheckUtils]: 45: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,443 INFO L290 TraceCheckUtils]: 46: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,443 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10234#true} {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #106#return; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:26,443 INFO L272 TraceCheckUtils]: 48: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,443 INFO L290 TraceCheckUtils]: 49: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,444 INFO L290 TraceCheckUtils]: 50: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,444 INFO L290 TraceCheckUtils]: 51: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,448 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10234#true} {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} #108#return; {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:26,448 INFO L290 TraceCheckUtils]: 53: Hoare triple {10332#(and (= main_~b~0 main_~v~0) (= main_~d~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-28 05:54:26,449 INFO L290 TraceCheckUtils]: 54: Hoare triple {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} assume !false; {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-28 05:54:26,449 INFO L272 TraceCheckUtils]: 55: Hoare triple {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,449 INFO L290 TraceCheckUtils]: 56: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,449 INFO L290 TraceCheckUtils]: 57: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,449 INFO L290 TraceCheckUtils]: 58: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,449 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10234#true} {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} #102#return; {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-28 05:54:26,449 INFO L272 TraceCheckUtils]: 60: Hoare triple {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,449 INFO L290 TraceCheckUtils]: 61: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,449 INFO L290 TraceCheckUtils]: 62: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,449 INFO L290 TraceCheckUtils]: 63: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,450 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10234#true} {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} #104#return; {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-28 05:54:26,450 INFO L272 TraceCheckUtils]: 65: Hoare triple {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,450 INFO L290 TraceCheckUtils]: 66: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,450 INFO L290 TraceCheckUtils]: 67: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,450 INFO L290 TraceCheckUtils]: 68: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,451 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10234#true} {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} #106#return; {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} is VALID [2022-04-28 05:54:26,451 INFO L272 TraceCheckUtils]: 70: Hoare triple {10399#(and (= main_~v~0 (* main_~b~0 2)) (= main_~d~0 2))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10451#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:54:26,451 INFO L290 TraceCheckUtils]: 71: Hoare triple {10451#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10455#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:26,452 INFO L290 TraceCheckUtils]: 72: Hoare triple {10455#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10235#false} is VALID [2022-04-28 05:54:26,452 INFO L290 TraceCheckUtils]: 73: Hoare triple {10235#false} assume !false; {10235#false} is VALID [2022-04-28 05:54:26,452 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 14 proven. 5 refuted. 0 times theorem prover too weak. 108 trivial. 0 not checked. [2022-04-28 05:54:26,452 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:54:26,615 INFO L290 TraceCheckUtils]: 73: Hoare triple {10235#false} assume !false; {10235#false} is VALID [2022-04-28 05:54:26,615 INFO L290 TraceCheckUtils]: 72: Hoare triple {10455#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10235#false} is VALID [2022-04-28 05:54:26,616 INFO L290 TraceCheckUtils]: 71: Hoare triple {10451#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10455#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:26,616 INFO L272 TraceCheckUtils]: 70: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10451#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:54:26,618 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:54:26,618 INFO L290 TraceCheckUtils]: 68: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,621 INFO L290 TraceCheckUtils]: 67: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,621 INFO L290 TraceCheckUtils]: 66: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,621 INFO L272 TraceCheckUtils]: 65: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,623 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:54:26,623 INFO L290 TraceCheckUtils]: 63: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,623 INFO L290 TraceCheckUtils]: 62: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,623 INFO L290 TraceCheckUtils]: 61: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,623 INFO L272 TraceCheckUtils]: 60: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,624 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:54:26,624 INFO L290 TraceCheckUtils]: 58: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,624 INFO L290 TraceCheckUtils]: 57: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,624 INFO L290 TraceCheckUtils]: 56: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,624 INFO L272 TraceCheckUtils]: 55: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,624 INFO L290 TraceCheckUtils]: 54: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:54:26,626 INFO L290 TraceCheckUtils]: 53: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:54:26,627 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #108#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:54:26,627 INFO L290 TraceCheckUtils]: 51: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,627 INFO L290 TraceCheckUtils]: 50: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,627 INFO L290 TraceCheckUtils]: 49: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,627 INFO L272 TraceCheckUtils]: 48: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,627 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #106#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:54:26,627 INFO L290 TraceCheckUtils]: 46: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,627 INFO L290 TraceCheckUtils]: 45: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,628 INFO L290 TraceCheckUtils]: 44: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,628 INFO L272 TraceCheckUtils]: 43: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,628 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #104#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:54:26,628 INFO L290 TraceCheckUtils]: 41: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,628 INFO L290 TraceCheckUtils]: 40: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,628 INFO L290 TraceCheckUtils]: 39: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,628 INFO L272 TraceCheckUtils]: 38: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,638 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {10234#true} {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} #102#return; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:54:26,638 INFO L290 TraceCheckUtils]: 36: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,638 INFO L290 TraceCheckUtils]: 35: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,638 INFO L290 TraceCheckUtils]: 34: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,638 INFO L272 TraceCheckUtils]: 33: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,638 INFO L290 TraceCheckUtils]: 32: Hoare triple {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} assume !false; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:54:26,639 INFO L290 TraceCheckUtils]: 31: Hoare triple {10234#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {10471#(= main_~v~0 (* main_~d~0 main_~b~0))} is VALID [2022-04-28 05:54:26,639 INFO L290 TraceCheckUtils]: 30: Hoare triple {10234#true} assume !false; {10234#true} is VALID [2022-04-28 05:54:26,639 INFO L290 TraceCheckUtils]: 29: Hoare triple {10234#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {10234#true} is VALID [2022-04-28 05:54:26,639 INFO L290 TraceCheckUtils]: 28: Hoare triple {10234#true} assume !false; {10234#true} is VALID [2022-04-28 05:54:26,639 INFO L290 TraceCheckUtils]: 27: Hoare triple {10234#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10234#true} is VALID [2022-04-28 05:54:26,639 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {10234#true} {10234#true} #100#return; {10234#true} is VALID [2022-04-28 05:54:26,639 INFO L290 TraceCheckUtils]: 25: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,639 INFO L290 TraceCheckUtils]: 24: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,639 INFO L290 TraceCheckUtils]: 23: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,639 INFO L272 TraceCheckUtils]: 22: Hoare triple {10234#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,639 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {10234#true} {10234#true} #98#return; {10234#true} is VALID [2022-04-28 05:54:26,639 INFO L290 TraceCheckUtils]: 20: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,639 INFO L290 TraceCheckUtils]: 19: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L290 TraceCheckUtils]: 18: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L272 TraceCheckUtils]: 17: Hoare triple {10234#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {10234#true} {10234#true} #96#return; {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L290 TraceCheckUtils]: 15: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L290 TraceCheckUtils]: 14: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L290 TraceCheckUtils]: 13: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L272 TraceCheckUtils]: 12: Hoare triple {10234#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L290 TraceCheckUtils]: 11: Hoare triple {10234#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10234#true} {10234#true} #94#return; {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L290 TraceCheckUtils]: 9: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L290 TraceCheckUtils]: 8: Hoare triple {10234#true} assume !(0 == ~cond); {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L290 TraceCheckUtils]: 7: Hoare triple {10234#true} ~cond := #in~cond; {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L272 TraceCheckUtils]: 6: Hoare triple {10234#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L290 TraceCheckUtils]: 5: Hoare triple {10234#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L272 TraceCheckUtils]: 4: Hoare triple {10234#true} call #t~ret6 := main(); {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10234#true} {10234#true} #112#return; {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L290 TraceCheckUtils]: 2: Hoare triple {10234#true} assume true; {10234#true} is VALID [2022-04-28 05:54:26,640 INFO L290 TraceCheckUtils]: 1: Hoare triple {10234#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {10234#true} is VALID [2022-04-28 05:54:26,641 INFO L272 TraceCheckUtils]: 0: Hoare triple {10234#true} call ULTIMATE.init(); {10234#true} is VALID [2022-04-28 05:54:26,641 INFO L134 CoverageAnalysis]: Checked inductivity of 127 backedges. 14 proven. 0 refuted. 0 times theorem prover too weak. 113 trivial. 0 not checked. [2022-04-28 05:54:26,641 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:54:26,641 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [630929973] [2022-04-28 05:54:26,641 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:54:26,641 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [293913864] [2022-04-28 05:54:26,641 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [293913864] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 05:54:26,641 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:54:26,641 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-28 05:54:26,641 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:54:26,641 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [984279079] [2022-04-28 05:54:26,641 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [984279079] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:54:26,642 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:54:26,642 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:54:26,642 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [828704590] [2022-04-28 05:54:26,642 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:54:26,642 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 74 [2022-04-28 05:54:26,642 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:54:26,642 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:26,663 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:26,663 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:54:26,663 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:26,664 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:54:26,664 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 05:54:26,664 INFO L87 Difference]: Start difference. First operand 208 states and 296 transitions. Second operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:27,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:27,121 INFO L93 Difference]: Finished difference Result 214 states and 301 transitions. [2022-04-28 05:54:27,121 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 05:54:27,122 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 74 [2022-04-28 05:54:27,122 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:54:27,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:27,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 05:54:27,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:27,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 53 transitions. [2022-04-28 05:54:27,124 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 53 transitions. [2022-04-28 05:54:27,192 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:27,196 INFO L225 Difference]: With dead ends: 214 [2022-04-28 05:54:27,196 INFO L226 Difference]: Without dead ends: 212 [2022-04-28 05:54:27,197 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 148 GetRequests, 140 SyntacticMatches, 2 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=17, Invalid=39, Unknown=0, NotChecked=0, Total=56 [2022-04-28 05:54:27,197 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 9 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 139 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:54:27,197 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [9 Valid, 139 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:54:27,198 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 212 states. [2022-04-28 05:54:27,614 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 212 to 212. [2022-04-28 05:54:27,615 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:54:27,615 INFO L82 GeneralOperation]: Start isEquivalent. First operand 212 states. Second operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:27,615 INFO L74 IsIncluded]: Start isIncluded. First operand 212 states. Second operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:27,616 INFO L87 Difference]: Start difference. First operand 212 states. Second operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:27,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:27,620 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-28 05:54:27,620 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-28 05:54:27,621 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:27,621 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:27,621 INFO L74 IsIncluded]: Start isIncluded. First operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 212 states. [2022-04-28 05:54:27,621 INFO L87 Difference]: Start difference. First operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 212 states. [2022-04-28 05:54:27,626 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:27,626 INFO L93 Difference]: Finished difference Result 212 states and 299 transitions. [2022-04-28 05:54:27,626 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-28 05:54:27,627 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:27,627 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:27,627 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:54:27,627 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:54:27,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 212 states, 119 states have (on average 1.2016806722689075) internal successors, (143), 125 states have internal predecessors, (143), 79 states have call successors, (79), 14 states have call predecessors, (79), 13 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:27,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 212 states to 212 states and 299 transitions. [2022-04-28 05:54:27,633 INFO L78 Accepts]: Start accepts. Automaton has 212 states and 299 transitions. Word has length 74 [2022-04-28 05:54:27,634 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:54:27,634 INFO L495 AbstractCegarLoop]: Abstraction has 212 states and 299 transitions. [2022-04-28 05:54:27,634 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 4.0) internal successors, (20), 4 states have internal predecessors, (20), 2 states have call successors, (11), 2 states have call predecessors, (11), 1 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:27,634 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 212 states and 299 transitions. [2022-04-28 05:54:28,144 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 299 edges. 299 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:28,144 INFO L276 IsEmpty]: Start isEmpty. Operand 212 states and 299 transitions. [2022-04-28 05:54:28,145 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 73 [2022-04-28 05:54:28,145 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:54:28,145 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:54:28,175 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 05:54:28,345 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-28 05:54:28,345 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:54:28,346 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:54:28,346 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 1 times [2022-04-28 05:54:28,346 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:28,346 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1659445436] [2022-04-28 05:54:28,346 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:54:28,346 INFO L85 PathProgramCache]: Analyzing trace with hash -2089538094, now seen corresponding path program 2 times [2022-04-28 05:54:28,346 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:54:28,346 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1438918041] [2022-04-28 05:54:28,346 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:54:28,346 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:54:28,359 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:54:28,359 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1844918869] [2022-04-28 05:54:28,359 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:54:28,359 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:54:28,359 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:54:28,362 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:54:28,363 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-28 05:54:28,413 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:54:28,413 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:54:28,414 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 05:54:28,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:54:28,426 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:54:28,644 INFO L272 TraceCheckUtils]: 0: Hoare triple {11962#true} call ULTIMATE.init(); {11962#true} is VALID [2022-04-28 05:54:28,645 INFO L290 TraceCheckUtils]: 1: Hoare triple {11962#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {11962#true} is VALID [2022-04-28 05:54:28,645 INFO L290 TraceCheckUtils]: 2: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:28,645 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11962#true} {11962#true} #112#return; {11962#true} is VALID [2022-04-28 05:54:28,645 INFO L272 TraceCheckUtils]: 4: Hoare triple {11962#true} call #t~ret6 := main(); {11962#true} is VALID [2022-04-28 05:54:28,645 INFO L290 TraceCheckUtils]: 5: Hoare triple {11962#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11962#true} is VALID [2022-04-28 05:54:28,645 INFO L272 TraceCheckUtils]: 6: Hoare triple {11962#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:28,645 INFO L290 TraceCheckUtils]: 7: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-28 05:54:28,645 INFO L290 TraceCheckUtils]: 8: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-28 05:54:28,645 INFO L290 TraceCheckUtils]: 9: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:28,645 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11962#true} {11962#true} #94#return; {11962#true} is VALID [2022-04-28 05:54:28,645 INFO L290 TraceCheckUtils]: 11: Hoare triple {11962#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11962#true} is VALID [2022-04-28 05:54:28,646 INFO L272 TraceCheckUtils]: 12: Hoare triple {11962#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:28,646 INFO L290 TraceCheckUtils]: 13: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-28 05:54:28,646 INFO L290 TraceCheckUtils]: 14: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-28 05:54:28,646 INFO L290 TraceCheckUtils]: 15: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:28,646 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11962#true} {11962#true} #96#return; {11962#true} is VALID [2022-04-28 05:54:28,646 INFO L272 TraceCheckUtils]: 17: Hoare triple {11962#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:28,646 INFO L290 TraceCheckUtils]: 18: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-28 05:54:28,646 INFO L290 TraceCheckUtils]: 19: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-28 05:54:28,646 INFO L290 TraceCheckUtils]: 20: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:28,646 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11962#true} {11962#true} #98#return; {11962#true} is VALID [2022-04-28 05:54:28,646 INFO L272 TraceCheckUtils]: 22: Hoare triple {11962#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:28,646 INFO L290 TraceCheckUtils]: 23: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-28 05:54:28,646 INFO L290 TraceCheckUtils]: 24: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-28 05:54:28,647 INFO L290 TraceCheckUtils]: 25: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:28,647 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11962#true} {11962#true} #100#return; {11962#true} is VALID [2022-04-28 05:54:28,647 INFO L290 TraceCheckUtils]: 27: Hoare triple {11962#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11962#true} is VALID [2022-04-28 05:54:28,647 INFO L290 TraceCheckUtils]: 28: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-28 05:54:28,647 INFO L290 TraceCheckUtils]: 29: Hoare triple {11962#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11962#true} is VALID [2022-04-28 05:54:28,647 INFO L290 TraceCheckUtils]: 30: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-28 05:54:28,647 INFO L290 TraceCheckUtils]: 31: Hoare triple {11962#true} assume !(~c~0 >= ~b~0); {11962#true} is VALID [2022-04-28 05:54:28,647 INFO L290 TraceCheckUtils]: 32: Hoare triple {11962#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11962#true} is VALID [2022-04-28 05:54:28,647 INFO L290 TraceCheckUtils]: 33: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-28 05:54:28,647 INFO L290 TraceCheckUtils]: 34: Hoare triple {11962#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11962#true} is VALID [2022-04-28 05:54:28,647 INFO L290 TraceCheckUtils]: 35: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-28 05:54:28,647 INFO L290 TraceCheckUtils]: 36: Hoare triple {11962#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11962#true} is VALID [2022-04-28 05:54:28,648 INFO L290 TraceCheckUtils]: 37: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-28 05:54:28,648 INFO L272 TraceCheckUtils]: 38: Hoare triple {11962#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:28,648 INFO L290 TraceCheckUtils]: 39: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-28 05:54:28,648 INFO L290 TraceCheckUtils]: 40: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-28 05:54:28,648 INFO L290 TraceCheckUtils]: 41: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:28,648 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11962#true} {11962#true} #102#return; {11962#true} is VALID [2022-04-28 05:54:28,648 INFO L272 TraceCheckUtils]: 43: Hoare triple {11962#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:28,648 INFO L290 TraceCheckUtils]: 44: Hoare triple {11962#true} ~cond := #in~cond; {12099#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:28,649 INFO L290 TraceCheckUtils]: 45: Hoare triple {12099#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:28,649 INFO L290 TraceCheckUtils]: 46: Hoare triple {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:28,650 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} {11962#true} #104#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:28,650 INFO L272 TraceCheckUtils]: 48: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:28,650 INFO L290 TraceCheckUtils]: 49: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-28 05:54:28,650 INFO L290 TraceCheckUtils]: 50: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-28 05:54:28,650 INFO L290 TraceCheckUtils]: 51: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:28,651 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11962#true} {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #106#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:28,651 INFO L272 TraceCheckUtils]: 53: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:28,651 INFO L290 TraceCheckUtils]: 54: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-28 05:54:28,651 INFO L290 TraceCheckUtils]: 55: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-28 05:54:28,651 INFO L290 TraceCheckUtils]: 56: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:28,651 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11962#true} {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #108#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:28,652 INFO L290 TraceCheckUtils]: 58: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= 2 * ~v~0); {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:28,652 INFO L290 TraceCheckUtils]: 59: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:28,652 INFO L290 TraceCheckUtils]: 60: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:28,653 INFO L290 TraceCheckUtils]: 61: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:28,653 INFO L290 TraceCheckUtils]: 62: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:54:28,654 INFO L290 TraceCheckUtils]: 63: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:54:28,654 INFO L290 TraceCheckUtils]: 64: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:54:28,654 INFO L290 TraceCheckUtils]: 65: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:54:28,655 INFO L290 TraceCheckUtils]: 66: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:54:28,655 INFO L290 TraceCheckUtils]: 67: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:54:28,656 INFO L272 TraceCheckUtils]: 68: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12175#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:54:28,656 INFO L290 TraceCheckUtils]: 69: Hoare triple {12175#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12179#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:28,656 INFO L290 TraceCheckUtils]: 70: Hoare triple {12179#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11963#false} is VALID [2022-04-28 05:54:28,656 INFO L290 TraceCheckUtils]: 71: Hoare triple {11963#false} assume !false; {11963#false} is VALID [2022-04-28 05:54:28,656 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-28 05:54:28,657 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:54:40,965 INFO L290 TraceCheckUtils]: 71: Hoare triple {11963#false} assume !false; {11963#false} is VALID [2022-04-28 05:54:40,966 INFO L290 TraceCheckUtils]: 70: Hoare triple {12179#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11963#false} is VALID [2022-04-28 05:54:40,966 INFO L290 TraceCheckUtils]: 69: Hoare triple {12175#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12179#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:40,967 INFO L272 TraceCheckUtils]: 68: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12175#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:54:40,967 INFO L290 TraceCheckUtils]: 67: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:54:40,967 INFO L290 TraceCheckUtils]: 66: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:54:40,968 INFO L290 TraceCheckUtils]: 65: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:54:40,968 INFO L290 TraceCheckUtils]: 64: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:54:40,968 INFO L290 TraceCheckUtils]: 63: Hoare triple {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:54:40,969 INFO L290 TraceCheckUtils]: 62: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {12156#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:54:40,969 INFO L290 TraceCheckUtils]: 61: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:40,969 INFO L290 TraceCheckUtils]: 60: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:40,970 INFO L290 TraceCheckUtils]: 59: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:40,970 INFO L290 TraceCheckUtils]: 58: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= 2 * ~v~0); {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:40,971 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {11962#true} {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #108#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:40,971 INFO L290 TraceCheckUtils]: 56: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:40,971 INFO L290 TraceCheckUtils]: 55: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-28 05:54:40,971 INFO L290 TraceCheckUtils]: 54: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-28 05:54:40,971 INFO L272 TraceCheckUtils]: 53: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:40,972 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {11962#true} {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #106#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:40,972 INFO L290 TraceCheckUtils]: 51: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:40,972 INFO L290 TraceCheckUtils]: 50: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-28 05:54:40,972 INFO L290 TraceCheckUtils]: 49: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-28 05:54:40,972 INFO L272 TraceCheckUtils]: 48: Hoare triple {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:40,972 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} {11962#true} #104#return; {12110#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:54:40,973 INFO L290 TraceCheckUtils]: 46: Hoare triple {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:40,973 INFO L290 TraceCheckUtils]: 45: Hoare triple {12267#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12103#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:40,973 INFO L290 TraceCheckUtils]: 44: Hoare triple {11962#true} ~cond := #in~cond; {12267#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:54:40,973 INFO L272 TraceCheckUtils]: 43: Hoare triple {11962#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:40,973 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11962#true} {11962#true} #102#return; {11962#true} is VALID [2022-04-28 05:54:40,973 INFO L290 TraceCheckUtils]: 41: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 40: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 39: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L272 TraceCheckUtils]: 38: Hoare triple {11962#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 37: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 36: Hoare triple {11962#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 35: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 34: Hoare triple {11962#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 33: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 32: Hoare triple {11962#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 31: Hoare triple {11962#true} assume !(~c~0 >= ~b~0); {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 30: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 29: Hoare triple {11962#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 28: Hoare triple {11962#true} assume !false; {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 27: Hoare triple {11962#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11962#true} {11962#true} #100#return; {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 25: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 24: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-28 05:54:40,974 INFO L290 TraceCheckUtils]: 23: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L272 TraceCheckUtils]: 22: Hoare triple {11962#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11962#true} {11962#true} #98#return; {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L290 TraceCheckUtils]: 20: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L290 TraceCheckUtils]: 19: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L290 TraceCheckUtils]: 18: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L272 TraceCheckUtils]: 17: Hoare triple {11962#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11962#true} {11962#true} #96#return; {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L290 TraceCheckUtils]: 15: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L290 TraceCheckUtils]: 14: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L290 TraceCheckUtils]: 13: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L272 TraceCheckUtils]: 12: Hoare triple {11962#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L290 TraceCheckUtils]: 11: Hoare triple {11962#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11962#true} {11962#true} #94#return; {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L290 TraceCheckUtils]: 9: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L290 TraceCheckUtils]: 8: Hoare triple {11962#true} assume !(0 == ~cond); {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L290 TraceCheckUtils]: 7: Hoare triple {11962#true} ~cond := #in~cond; {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L272 TraceCheckUtils]: 6: Hoare triple {11962#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {11962#true} is VALID [2022-04-28 05:54:40,975 INFO L290 TraceCheckUtils]: 5: Hoare triple {11962#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11962#true} is VALID [2022-04-28 05:54:40,976 INFO L272 TraceCheckUtils]: 4: Hoare triple {11962#true} call #t~ret6 := main(); {11962#true} is VALID [2022-04-28 05:54:40,976 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11962#true} {11962#true} #112#return; {11962#true} is VALID [2022-04-28 05:54:40,976 INFO L290 TraceCheckUtils]: 2: Hoare triple {11962#true} assume true; {11962#true} is VALID [2022-04-28 05:54:40,976 INFO L290 TraceCheckUtils]: 1: Hoare triple {11962#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {11962#true} is VALID [2022-04-28 05:54:40,976 INFO L272 TraceCheckUtils]: 0: Hoare triple {11962#true} call ULTIMATE.init(); {11962#true} is VALID [2022-04-28 05:54:40,976 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 25 proven. 9 refuted. 0 times theorem prover too weak. 43 trivial. 0 not checked. [2022-04-28 05:54:40,976 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:54:40,976 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1438918041] [2022-04-28 05:54:40,976 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:54:40,976 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1844918869] [2022-04-28 05:54:40,976 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1844918869] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:54:40,976 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:54:40,976 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 05:54:40,977 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:54:40,977 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1659445436] [2022-04-28 05:54:40,977 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1659445436] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:54:40,977 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:54:40,977 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 05:54:40,977 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1947405870] [2022-04-28 05:54:40,977 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:54:40,977 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 72 [2022-04-28 05:54:40,977 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:54:40,977 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:41,018 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:41,018 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 05:54:41,018 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:41,018 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 05:54:41,018 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 05:54:41,019 INFO L87 Difference]: Start difference. First operand 212 states and 299 transitions. Second operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:42,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:42,085 INFO L93 Difference]: Finished difference Result 226 states and 310 transitions. [2022-04-28 05:54:42,085 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 05:54:42,085 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) Word has length 72 [2022-04-28 05:54:42,085 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:54:42,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:42,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-28 05:54:42,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:42,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2022-04-28 05:54:42,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 58 transitions. [2022-04-28 05:54:42,130 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:42,134 INFO L225 Difference]: With dead ends: 226 [2022-04-28 05:54:42,134 INFO L226 Difference]: Without dead ends: 224 [2022-04-28 05:54:42,134 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 147 GetRequests, 136 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 05:54:42,135 INFO L413 NwaCegarLoop]: 33 mSDtfsCounter, 22 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 96 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 107 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 96 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 05:54:42,135 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 146 Invalid, 107 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 96 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 05:54:42,135 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-04-28 05:54:42,670 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 224. [2022-04-28 05:54:42,670 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:54:42,670 INFO L82 GeneralOperation]: Start isEquivalent. First operand 224 states. Second operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:42,671 INFO L74 IsIncluded]: Start isIncluded. First operand 224 states. Second operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:42,671 INFO L87 Difference]: Start difference. First operand 224 states. Second operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:42,675 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:42,675 INFO L93 Difference]: Finished difference Result 224 states and 308 transitions. [2022-04-28 05:54:42,676 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-28 05:54:42,676 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:42,676 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:42,677 INFO L74 IsIncluded]: Start isIncluded. First operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 224 states. [2022-04-28 05:54:42,677 INFO L87 Difference]: Start difference. First operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) Second operand 224 states. [2022-04-28 05:54:42,681 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:42,681 INFO L93 Difference]: Finished difference Result 224 states and 308 transitions. [2022-04-28 05:54:42,681 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-28 05:54:42,682 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:42,682 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:42,682 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:54:42,682 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:54:42,682 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 224 states, 128 states have (on average 1.1875) internal successors, (152), 134 states have internal predecessors, (152), 79 states have call successors, (79), 17 states have call predecessors, (79), 16 states have return successors, (77), 72 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-28 05:54:42,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 224 states to 224 states and 308 transitions. [2022-04-28 05:54:42,687 INFO L78 Accepts]: Start accepts. Automaton has 224 states and 308 transitions. Word has length 72 [2022-04-28 05:54:42,687 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:54:42,687 INFO L495 AbstractCegarLoop]: Abstraction has 224 states and 308 transitions. [2022-04-28 05:54:42,687 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 4.25) internal successors, (34), 7 states have internal predecessors, (34), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 2 states have call successors, (9) [2022-04-28 05:54:42,687 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 224 states and 308 transitions. [2022-04-28 05:54:43,196 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 308 edges. 308 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:43,196 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 308 transitions. [2022-04-28 05:54:43,197 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-28 05:54:43,197 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:54:43,197 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:54:43,224 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-28 05:54:43,397 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-28 05:54:43,397 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:54:43,398 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:54:43,398 INFO L85 PathProgramCache]: Analyzing trace with hash 1984914564, now seen corresponding path program 3 times [2022-04-28 05:54:43,398 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:43,398 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [56689554] [2022-04-28 05:54:43,398 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:54:43,398 INFO L85 PathProgramCache]: Analyzing trace with hash 1984914564, now seen corresponding path program 4 times [2022-04-28 05:54:43,398 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:54:43,398 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1715222965] [2022-04-28 05:54:43,399 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:54:43,399 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:54:43,408 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:54:43,409 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1792638246] [2022-04-28 05:54:43,409 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:54:43,409 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:54:43,409 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:54:43,418 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:54:43,420 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-28 05:54:43,484 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:54:43,484 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:54:43,484 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 05:54:43,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:54:43,497 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:54:43,648 INFO L272 TraceCheckUtils]: 0: Hoare triple {13757#true} call ULTIMATE.init(); {13757#true} is VALID [2022-04-28 05:54:43,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {13757#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L290 TraceCheckUtils]: 2: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13757#true} {13757#true} #112#return; {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L272 TraceCheckUtils]: 4: Hoare triple {13757#true} call #t~ret6 := main(); {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L290 TraceCheckUtils]: 5: Hoare triple {13757#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L272 TraceCheckUtils]: 6: Hoare triple {13757#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L290 TraceCheckUtils]: 7: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L290 TraceCheckUtils]: 8: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L290 TraceCheckUtils]: 9: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13757#true} {13757#true} #94#return; {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L290 TraceCheckUtils]: 11: Hoare triple {13757#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L272 TraceCheckUtils]: 12: Hoare triple {13757#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L290 TraceCheckUtils]: 13: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L290 TraceCheckUtils]: 14: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L290 TraceCheckUtils]: 15: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {13757#true} {13757#true} #96#return; {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L272 TraceCheckUtils]: 17: Hoare triple {13757#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13757#true} is VALID [2022-04-28 05:54:43,649 INFO L290 TraceCheckUtils]: 18: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L290 TraceCheckUtils]: 19: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L290 TraceCheckUtils]: 20: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {13757#true} {13757#true} #98#return; {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L272 TraceCheckUtils]: 22: Hoare triple {13757#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L290 TraceCheckUtils]: 23: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L290 TraceCheckUtils]: 24: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L290 TraceCheckUtils]: 25: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {13757#true} {13757#true} #100#return; {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L290 TraceCheckUtils]: 27: Hoare triple {13757#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L290 TraceCheckUtils]: 28: Hoare triple {13757#true} assume !false; {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L290 TraceCheckUtils]: 29: Hoare triple {13757#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L290 TraceCheckUtils]: 30: Hoare triple {13757#true} assume !false; {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L290 TraceCheckUtils]: 31: Hoare triple {13757#true} assume !(~c~0 >= ~b~0); {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L290 TraceCheckUtils]: 32: Hoare triple {13757#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L290 TraceCheckUtils]: 33: Hoare triple {13757#true} assume !false; {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L290 TraceCheckUtils]: 34: Hoare triple {13757#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {13757#true} is VALID [2022-04-28 05:54:43,650 INFO L290 TraceCheckUtils]: 35: Hoare triple {13757#true} assume !false; {13757#true} is VALID [2022-04-28 05:54:43,651 INFO L290 TraceCheckUtils]: 36: Hoare triple {13757#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:43,651 INFO L290 TraceCheckUtils]: 37: Hoare triple {13870#(<= main_~v~0 main_~b~0)} assume !false; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:43,651 INFO L272 TraceCheckUtils]: 38: Hoare triple {13870#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13757#true} is VALID [2022-04-28 05:54:43,651 INFO L290 TraceCheckUtils]: 39: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-28 05:54:43,651 INFO L290 TraceCheckUtils]: 40: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-28 05:54:43,651 INFO L290 TraceCheckUtils]: 41: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-28 05:54:43,651 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13757#true} {13870#(<= main_~v~0 main_~b~0)} #102#return; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:43,651 INFO L272 TraceCheckUtils]: 43: Hoare triple {13870#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13757#true} is VALID [2022-04-28 05:54:43,652 INFO L290 TraceCheckUtils]: 44: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-28 05:54:43,652 INFO L290 TraceCheckUtils]: 45: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-28 05:54:43,652 INFO L290 TraceCheckUtils]: 46: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-28 05:54:43,652 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13757#true} {13870#(<= main_~v~0 main_~b~0)} #104#return; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:43,652 INFO L272 TraceCheckUtils]: 48: Hoare triple {13870#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13757#true} is VALID [2022-04-28 05:54:43,652 INFO L290 TraceCheckUtils]: 49: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-28 05:54:43,652 INFO L290 TraceCheckUtils]: 50: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-28 05:54:43,652 INFO L290 TraceCheckUtils]: 51: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-28 05:54:43,652 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13757#true} {13870#(<= main_~v~0 main_~b~0)} #106#return; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:43,653 INFO L272 TraceCheckUtils]: 53: Hoare triple {13870#(<= main_~v~0 main_~b~0)} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {13757#true} is VALID [2022-04-28 05:54:43,653 INFO L290 TraceCheckUtils]: 54: Hoare triple {13757#true} ~cond := #in~cond; {13757#true} is VALID [2022-04-28 05:54:43,653 INFO L290 TraceCheckUtils]: 55: Hoare triple {13757#true} assume !(0 == ~cond); {13757#true} is VALID [2022-04-28 05:54:43,653 INFO L290 TraceCheckUtils]: 56: Hoare triple {13757#true} assume true; {13757#true} is VALID [2022-04-28 05:54:43,653 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {13757#true} {13870#(<= main_~v~0 main_~b~0)} #108#return; {13870#(<= main_~v~0 main_~b~0)} is VALID [2022-04-28 05:54:43,653 INFO L290 TraceCheckUtils]: 58: Hoare triple {13870#(<= main_~v~0 main_~b~0)} assume !(~c~0 >= 2 * ~v~0); {13937#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} is VALID [2022-04-28 05:54:43,654 INFO L290 TraceCheckUtils]: 59: Hoare triple {13937#(and (<= main_~v~0 main_~b~0) (not (<= (* main_~v~0 2) main_~c~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {13941#(< main_~c~0 main_~b~0)} is VALID [2022-04-28 05:54:43,654 INFO L290 TraceCheckUtils]: 60: Hoare triple {13941#(< main_~c~0 main_~b~0)} assume !false; {13941#(< main_~c~0 main_~b~0)} is VALID [2022-04-28 05:54:43,654 INFO L290 TraceCheckUtils]: 61: Hoare triple {13941#(< main_~c~0 main_~b~0)} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {13758#false} is VALID [2022-04-28 05:54:43,654 INFO L290 TraceCheckUtils]: 62: Hoare triple {13758#false} assume !false; {13758#false} is VALID [2022-04-28 05:54:43,654 INFO L272 TraceCheckUtils]: 63: Hoare triple {13758#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13758#false} is VALID [2022-04-28 05:54:43,654 INFO L290 TraceCheckUtils]: 64: Hoare triple {13758#false} ~cond := #in~cond; {13758#false} is VALID [2022-04-28 05:54:43,654 INFO L290 TraceCheckUtils]: 65: Hoare triple {13758#false} assume !(0 == ~cond); {13758#false} is VALID [2022-04-28 05:54:43,654 INFO L290 TraceCheckUtils]: 66: Hoare triple {13758#false} assume true; {13758#false} is VALID [2022-04-28 05:54:43,654 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {13758#false} {13758#false} #102#return; {13758#false} is VALID [2022-04-28 05:54:43,654 INFO L272 TraceCheckUtils]: 68: Hoare triple {13758#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13758#false} is VALID [2022-04-28 05:54:43,654 INFO L290 TraceCheckUtils]: 69: Hoare triple {13758#false} ~cond := #in~cond; {13758#false} is VALID [2022-04-28 05:54:43,655 INFO L290 TraceCheckUtils]: 70: Hoare triple {13758#false} assume !(0 == ~cond); {13758#false} is VALID [2022-04-28 05:54:43,655 INFO L290 TraceCheckUtils]: 71: Hoare triple {13758#false} assume true; {13758#false} is VALID [2022-04-28 05:54:43,655 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {13758#false} {13758#false} #104#return; {13758#false} is VALID [2022-04-28 05:54:43,655 INFO L272 TraceCheckUtils]: 73: Hoare triple {13758#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {13758#false} is VALID [2022-04-28 05:54:43,655 INFO L290 TraceCheckUtils]: 74: Hoare triple {13758#false} ~cond := #in~cond; {13758#false} is VALID [2022-04-28 05:54:43,655 INFO L290 TraceCheckUtils]: 75: Hoare triple {13758#false} assume 0 == ~cond; {13758#false} is VALID [2022-04-28 05:54:43,655 INFO L290 TraceCheckUtils]: 76: Hoare triple {13758#false} assume !false; {13758#false} is VALID [2022-04-28 05:54:43,655 INFO L134 CoverageAnalysis]: Checked inductivity of 108 backedges. 48 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-28 05:54:43,655 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 05:54:43,655 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:54:43,655 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1715222965] [2022-04-28 05:54:43,655 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:54:43,655 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1792638246] [2022-04-28 05:54:43,655 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1792638246] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:54:43,655 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:54:43,656 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:54:43,656 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:54:43,656 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [56689554] [2022-04-28 05:54:43,656 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [56689554] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:54:43,656 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:54:43,656 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 05:54:43,656 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1232892309] [2022-04-28 05:54:43,656 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:54:43,656 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 77 [2022-04-28 05:54:43,656 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:54:43,657 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 05:54:43,678 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:43,678 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 05:54:43,678 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:43,678 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 05:54:43,678 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-04-28 05:54:43,679 INFO L87 Difference]: Start difference. First operand 224 states and 308 transitions. Second operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 05:54:44,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:44,376 INFO L93 Difference]: Finished difference Result 367 states and 500 transitions. [2022-04-28 05:54:44,376 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 05:54:44,376 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) Word has length 77 [2022-04-28 05:54:44,376 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:54:44,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 05:54:44,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-28 05:54:44,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 05:54:44,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 85 transitions. [2022-04-28 05:54:44,379 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 85 transitions. [2022-04-28 05:54:44,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:44,435 INFO L225 Difference]: With dead ends: 367 [2022-04-28 05:54:44,435 INFO L226 Difference]: Without dead ends: 230 [2022-04-28 05:54:44,439 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 78 GetRequests, 74 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=12, Invalid=18, Unknown=0, NotChecked=0, Total=30 [2022-04-28 05:54:44,440 INFO L413 NwaCegarLoop]: 45 mSDtfsCounter, 3 mSDsluCounter, 64 mSDsCounter, 0 mSdLazyCounter, 43 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 3 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 45 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 43 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 05:54:44,440 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [3 Valid, 109 Invalid, 45 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 43 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 05:54:44,440 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 230 states. [2022-04-28 05:54:44,902 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 230 to 214. [2022-04-28 05:54:44,902 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:54:44,902 INFO L82 GeneralOperation]: Start isEquivalent. First operand 230 states. Second operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 05:54:44,902 INFO L74 IsIncluded]: Start isIncluded. First operand 230 states. Second operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 05:54:44,903 INFO L87 Difference]: Start difference. First operand 230 states. Second operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 05:54:44,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:44,907 INFO L93 Difference]: Finished difference Result 230 states and 305 transitions. [2022-04-28 05:54:44,907 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 305 transitions. [2022-04-28 05:54:44,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:44,907 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:44,908 INFO L74 IsIncluded]: Start isIncluded. First operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 230 states. [2022-04-28 05:54:44,908 INFO L87 Difference]: Start difference. First operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 230 states. [2022-04-28 05:54:44,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:54:44,912 INFO L93 Difference]: Finished difference Result 230 states and 305 transitions. [2022-04-28 05:54:44,912 INFO L276 IsEmpty]: Start isEmpty. Operand 230 states and 305 transitions. [2022-04-28 05:54:44,913 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:54:44,913 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:54:44,913 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:54:44,913 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:54:44,913 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 214 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 127 states have internal predecessors, (149), 71 states have call successors, (71), 17 states have call predecessors, (71), 16 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 05:54:44,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 214 states to 214 states and 289 transitions. [2022-04-28 05:54:44,917 INFO L78 Accepts]: Start accepts. Automaton has 214 states and 289 transitions. Word has length 77 [2022-04-28 05:54:44,917 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:54:44,917 INFO L495 AbstractCegarLoop]: Abstraction has 214 states and 289 transitions. [2022-04-28 05:54:44,921 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.6) internal successors, (28), 5 states have internal predecessors, (28), 3 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 3 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 05:54:44,921 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 214 states and 289 transitions. [2022-04-28 05:54:45,425 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 289 edges. 289 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:54:45,425 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 289 transitions. [2022-04-28 05:54:45,425 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 78 [2022-04-28 05:54:45,426 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:54:45,426 INFO L195 NwaCegarLoop]: trace histogram [6, 5, 5, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:54:45,441 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-28 05:54:45,626 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-28 05:54:45,626 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:54:45,626 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:54:45,626 INFO L85 PathProgramCache]: Analyzing trace with hash -867272991, now seen corresponding path program 5 times [2022-04-28 05:54:45,627 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:54:45,627 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [984946178] [2022-04-28 05:54:45,627 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:54:45,627 INFO L85 PathProgramCache]: Analyzing trace with hash -867272991, now seen corresponding path program 6 times [2022-04-28 05:54:45,627 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:54:45,627 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [162442779] [2022-04-28 05:54:45,627 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:54:45,627 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:54:45,640 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:54:45,640 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1618960060] [2022-04-28 05:54:45,640 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 05:54:45,641 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:54:45,641 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:54:45,641 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:54:45,642 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-28 05:54:45,690 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 05:54:45,691 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:54:45,692 INFO L263 TraceCheckSpWp]: Trace formula consists of 196 conjuncts, 71 conjunts are in the unsatisfiable core [2022-04-28 05:54:45,702 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:54:45,703 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:54:46,445 INFO L272 TraceCheckUtils]: 0: Hoare triple {15617#true} call ULTIMATE.init(); {15617#true} is VALID [2022-04-28 05:54:46,445 INFO L290 TraceCheckUtils]: 1: Hoare triple {15617#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {15617#true} is VALID [2022-04-28 05:54:46,445 INFO L290 TraceCheckUtils]: 2: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:54:46,445 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15617#true} {15617#true} #112#return; {15617#true} is VALID [2022-04-28 05:54:46,445 INFO L272 TraceCheckUtils]: 4: Hoare triple {15617#true} call #t~ret6 := main(); {15617#true} is VALID [2022-04-28 05:54:46,445 INFO L290 TraceCheckUtils]: 5: Hoare triple {15617#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {15617#true} is VALID [2022-04-28 05:54:46,445 INFO L272 TraceCheckUtils]: 6: Hoare triple {15617#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:54:46,445 INFO L290 TraceCheckUtils]: 7: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-28 05:54:46,445 INFO L290 TraceCheckUtils]: 8: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L290 TraceCheckUtils]: 9: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15617#true} {15617#true} #94#return; {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L290 TraceCheckUtils]: 11: Hoare triple {15617#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L272 TraceCheckUtils]: 12: Hoare triple {15617#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L290 TraceCheckUtils]: 13: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L290 TraceCheckUtils]: 14: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L290 TraceCheckUtils]: 15: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15617#true} {15617#true} #96#return; {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L272 TraceCheckUtils]: 17: Hoare triple {15617#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L290 TraceCheckUtils]: 18: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L290 TraceCheckUtils]: 19: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L290 TraceCheckUtils]: 20: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15617#true} {15617#true} #98#return; {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L272 TraceCheckUtils]: 22: Hoare triple {15617#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L290 TraceCheckUtils]: 23: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L290 TraceCheckUtils]: 24: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L290 TraceCheckUtils]: 25: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:54:46,446 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15617#true} {15617#true} #100#return; {15617#true} is VALID [2022-04-28 05:54:46,447 INFO L290 TraceCheckUtils]: 27: Hoare triple {15617#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15703#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:54:46,447 INFO L290 TraceCheckUtils]: 28: Hoare triple {15703#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {15703#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:54:46,448 INFO L290 TraceCheckUtils]: 29: Hoare triple {15703#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:54:46,448 INFO L290 TraceCheckUtils]: 30: Hoare triple {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:54:46,448 INFO L290 TraceCheckUtils]: 31: Hoare triple {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:54:46,449 INFO L290 TraceCheckUtils]: 32: Hoare triple {15710#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15720#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:54:46,449 INFO L290 TraceCheckUtils]: 33: Hoare triple {15720#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {15720#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:54:46,449 INFO L290 TraceCheckUtils]: 34: Hoare triple {15720#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15727#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:54:46,450 INFO L290 TraceCheckUtils]: 35: Hoare triple {15727#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} assume !false; {15727#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:54:46,450 INFO L290 TraceCheckUtils]: 36: Hoare triple {15727#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:46,451 INFO L290 TraceCheckUtils]: 37: Hoare triple {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !false; {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:46,451 INFO L272 TraceCheckUtils]: 38: Hoare triple {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:54:46,451 INFO L290 TraceCheckUtils]: 39: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-28 05:54:46,451 INFO L290 TraceCheckUtils]: 40: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-28 05:54:46,451 INFO L290 TraceCheckUtils]: 41: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:54:46,451 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15617#true} {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #102#return; {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:46,452 INFO L272 TraceCheckUtils]: 43: Hoare triple {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:54:46,452 INFO L290 TraceCheckUtils]: 44: Hoare triple {15617#true} ~cond := #in~cond; {15759#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:46,452 INFO L290 TraceCheckUtils]: 45: Hoare triple {15759#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:46,452 INFO L290 TraceCheckUtils]: 46: Hoare triple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:46,453 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} {15734#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #104#return; {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:46,453 INFO L272 TraceCheckUtils]: 48: Hoare triple {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:54:46,453 INFO L290 TraceCheckUtils]: 49: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-28 05:54:46,453 INFO L290 TraceCheckUtils]: 50: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-28 05:54:46,454 INFO L290 TraceCheckUtils]: 51: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:54:46,454 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15617#true} {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #106#return; {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:46,454 INFO L272 TraceCheckUtils]: 53: Hoare triple {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:54:46,454 INFO L290 TraceCheckUtils]: 54: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-28 05:54:46,454 INFO L290 TraceCheckUtils]: 55: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-28 05:54:46,454 INFO L290 TraceCheckUtils]: 56: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:54:46,455 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {15617#true} {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #108#return; {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:46,456 INFO L290 TraceCheckUtils]: 58: Hoare triple {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !(~c~0 >= 2 * ~v~0); {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 05:54:46,456 INFO L290 TraceCheckUtils]: 59: Hoare triple {15770#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:54:46,457 INFO L290 TraceCheckUtils]: 60: Hoare triple {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !false; {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:54:46,457 INFO L290 TraceCheckUtils]: 61: Hoare triple {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !(~c~0 >= ~b~0); {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 05:54:46,458 INFO L290 TraceCheckUtils]: 62: Hoare triple {15807#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~k~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 05:54:46,458 INFO L290 TraceCheckUtils]: 63: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 05:54:46,459 INFO L290 TraceCheckUtils]: 64: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 05:54:46,459 INFO L290 TraceCheckUtils]: 65: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 05:54:46,460 INFO L290 TraceCheckUtils]: 66: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 05:54:46,460 INFO L290 TraceCheckUtils]: 67: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-28 05:54:46,460 INFO L272 TraceCheckUtils]: 68: Hoare triple {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:54:46,461 INFO L290 TraceCheckUtils]: 69: Hoare triple {15617#true} ~cond := #in~cond; {15759#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:46,461 INFO L290 TraceCheckUtils]: 70: Hoare triple {15759#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:46,461 INFO L290 TraceCheckUtils]: 71: Hoare triple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:54:46,463 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} {15817#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~x~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* (- 1) main_~p~0 main_~x~0) (* (- 1) main_~y~0 main_~r~0) main_~y~0)) (= (+ main_~q~0 main_~p~0) 0))} #102#return; {15848#(and (= (+ main_~b~0 (* main_~x~0 (* (- 1) main_~q~0))) main_~y~0) (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))))} is VALID [2022-04-28 05:54:46,464 INFO L272 TraceCheckUtils]: 73: Hoare triple {15848#(and (= (+ main_~b~0 (* main_~x~0 (* (- 1) main_~q~0))) main_~y~0) (= main_~s~0 1) (= main_~x~0 (* main_~x~0 (* (- 1) main_~q~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15852#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:54:46,464 INFO L290 TraceCheckUtils]: 74: Hoare triple {15852#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15856#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:54:46,465 INFO L290 TraceCheckUtils]: 75: Hoare triple {15856#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15618#false} is VALID [2022-04-28 05:54:46,465 INFO L290 TraceCheckUtils]: 76: Hoare triple {15618#false} assume !false; {15618#false} is VALID [2022-04-28 05:54:46,465 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 20 proven. 30 refuted. 0 times theorem prover too weak. 46 trivial. 0 not checked. [2022-04-28 05:54:46,465 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:55:27,778 INFO L290 TraceCheckUtils]: 76: Hoare triple {15618#false} assume !false; {15618#false} is VALID [2022-04-28 05:55:27,778 INFO L290 TraceCheckUtils]: 75: Hoare triple {15856#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15618#false} is VALID [2022-04-28 05:55:27,779 INFO L290 TraceCheckUtils]: 74: Hoare triple {15852#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15856#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:55:27,779 INFO L272 TraceCheckUtils]: 73: Hoare triple {15872#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15852#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:55:27,780 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #102#return; {15872#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 05:55:27,780 INFO L290 TraceCheckUtils]: 71: Hoare triple {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:27,781 INFO L290 TraceCheckUtils]: 70: Hoare triple {15886#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15763#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:27,781 INFO L290 TraceCheckUtils]: 69: Hoare triple {15617#true} ~cond := #in~cond; {15886#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:55:27,781 INFO L272 TraceCheckUtils]: 68: Hoare triple {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:55:27,782 INFO L290 TraceCheckUtils]: 67: Hoare triple {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:55:27,782 INFO L290 TraceCheckUtils]: 66: Hoare triple {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:55:27,782 INFO L290 TraceCheckUtils]: 65: Hoare triple {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:55:27,783 INFO L290 TraceCheckUtils]: 64: Hoare triple {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:55:27,783 INFO L290 TraceCheckUtils]: 63: Hoare triple {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:55:27,836 INFO L290 TraceCheckUtils]: 62: Hoare triple {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15876#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 05:55:27,836 INFO L290 TraceCheckUtils]: 61: Hoare triple {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= ~b~0); {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:55:27,837 INFO L290 TraceCheckUtils]: 60: Hoare triple {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:55:27,841 INFO L290 TraceCheckUtils]: 59: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:55:27,842 INFO L290 TraceCheckUtils]: 58: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= 2 * ~v~0); {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:55:27,843 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {15617#true} {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #108#return; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:55:27,843 INFO L290 TraceCheckUtils]: 56: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:55:27,843 INFO L290 TraceCheckUtils]: 55: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-28 05:55:27,843 INFO L290 TraceCheckUtils]: 54: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-28 05:55:27,843 INFO L272 TraceCheckUtils]: 53: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:55:27,844 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15617#true} {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #106#return; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:55:27,844 INFO L290 TraceCheckUtils]: 51: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:55:27,844 INFO L290 TraceCheckUtils]: 50: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-28 05:55:27,844 INFO L290 TraceCheckUtils]: 49: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-28 05:55:27,844 INFO L272 TraceCheckUtils]: 48: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:55:27,845 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15617#true} {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:55:27,845 INFO L290 TraceCheckUtils]: 46: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:55:27,845 INFO L290 TraceCheckUtils]: 45: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-28 05:55:27,845 INFO L290 TraceCheckUtils]: 44: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-28 05:55:27,845 INFO L272 TraceCheckUtils]: 43: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:55:27,846 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15617#true} {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:55:27,846 INFO L290 TraceCheckUtils]: 41: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:55:27,846 INFO L290 TraceCheckUtils]: 40: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-28 05:55:27,846 INFO L290 TraceCheckUtils]: 39: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-28 05:55:27,846 INFO L272 TraceCheckUtils]: 38: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:55:27,846 INFO L290 TraceCheckUtils]: 37: Hoare triple {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:55:27,847 INFO L290 TraceCheckUtils]: 36: Hoare triple {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {15918#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:55:27,848 INFO L290 TraceCheckUtils]: 35: Hoare triple {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:55:27,848 INFO L290 TraceCheckUtils]: 34: Hoare triple {15994#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {15908#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:55:27,849 INFO L290 TraceCheckUtils]: 33: Hoare triple {15994#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {15994#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 05:55:29,850 WARN L290 TraceCheckUtils]: 32: Hoare triple {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {15994#(or (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is UNKNOWN [2022-04-28 05:55:29,851 INFO L290 TraceCheckUtils]: 31: Hoare triple {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} assume !(~c~0 >= ~b~0); {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} is VALID [2022-04-28 05:55:29,852 INFO L290 TraceCheckUtils]: 30: Hoare triple {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} assume !false; {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} is VALID [2022-04-28 05:55:29,852 INFO L290 TraceCheckUtils]: 29: Hoare triple {16011#(or (and (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (or (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {16001#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (and (not (= (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) 0)) (or (= main_~x~0 0) (not (= (mod (+ (* (- 1) main_~y~0 main_~r~0) (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)) main_~x~0) 0)))))} is VALID [2022-04-28 05:55:29,853 INFO L290 TraceCheckUtils]: 28: Hoare triple {16011#(or (and (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (or (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {16011#(or (and (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (or (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:55:29,854 INFO L290 TraceCheckUtils]: 27: Hoare triple {15617#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16011#(or (and (not (= 0 (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)))) (or (not (= (mod (+ (* main_~q~0 main_~x~0 0) (* (- 1) main_~y~0 main_~r~0) main_~a~0 (* main_~y~0 main_~s~0 0)) main_~x~0) 0)) (= main_~x~0 0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:55:29,854 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {15617#true} {15617#true} #100#return; {15617#true} is VALID [2022-04-28 05:55:29,854 INFO L290 TraceCheckUtils]: 25: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:55:29,854 INFO L290 TraceCheckUtils]: 24: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-28 05:55:29,854 INFO L290 TraceCheckUtils]: 23: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-28 05:55:29,854 INFO L272 TraceCheckUtils]: 22: Hoare triple {15617#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:55:29,854 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {15617#true} {15617#true} #98#return; {15617#true} is VALID [2022-04-28 05:55:29,854 INFO L290 TraceCheckUtils]: 20: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:55:29,854 INFO L290 TraceCheckUtils]: 19: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-28 05:55:29,854 INFO L290 TraceCheckUtils]: 18: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-28 05:55:29,854 INFO L272 TraceCheckUtils]: 17: Hoare triple {15617#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:55:29,854 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {15617#true} {15617#true} #96#return; {15617#true} is VALID [2022-04-28 05:55:29,854 INFO L290 TraceCheckUtils]: 15: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:55:29,854 INFO L290 TraceCheckUtils]: 14: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-28 05:55:29,854 INFO L290 TraceCheckUtils]: 13: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-28 05:55:29,854 INFO L272 TraceCheckUtils]: 12: Hoare triple {15617#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:55:29,855 INFO L290 TraceCheckUtils]: 11: Hoare triple {15617#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15617#true} is VALID [2022-04-28 05:55:29,855 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15617#true} {15617#true} #94#return; {15617#true} is VALID [2022-04-28 05:55:29,855 INFO L290 TraceCheckUtils]: 9: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:55:29,855 INFO L290 TraceCheckUtils]: 8: Hoare triple {15617#true} assume !(0 == ~cond); {15617#true} is VALID [2022-04-28 05:55:29,855 INFO L290 TraceCheckUtils]: 7: Hoare triple {15617#true} ~cond := #in~cond; {15617#true} is VALID [2022-04-28 05:55:29,855 INFO L272 TraceCheckUtils]: 6: Hoare triple {15617#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {15617#true} is VALID [2022-04-28 05:55:29,855 INFO L290 TraceCheckUtils]: 5: Hoare triple {15617#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {15617#true} is VALID [2022-04-28 05:55:29,855 INFO L272 TraceCheckUtils]: 4: Hoare triple {15617#true} call #t~ret6 := main(); {15617#true} is VALID [2022-04-28 05:55:29,855 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15617#true} {15617#true} #112#return; {15617#true} is VALID [2022-04-28 05:55:29,855 INFO L290 TraceCheckUtils]: 2: Hoare triple {15617#true} assume true; {15617#true} is VALID [2022-04-28 05:55:29,855 INFO L290 TraceCheckUtils]: 1: Hoare triple {15617#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {15617#true} is VALID [2022-04-28 05:55:29,855 INFO L272 TraceCheckUtils]: 0: Hoare triple {15617#true} call ULTIMATE.init(); {15617#true} is VALID [2022-04-28 05:55:29,856 INFO L134 CoverageAnalysis]: Checked inductivity of 96 backedges. 21 proven. 21 refuted. 0 times theorem prover too weak. 54 trivial. 0 not checked. [2022-04-28 05:55:29,856 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:55:29,856 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [162442779] [2022-04-28 05:55:29,856 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:55:29,856 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1618960060] [2022-04-28 05:55:29,856 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1618960060] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:55:29,856 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:55:29,856 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13] total 23 [2022-04-28 05:55:29,856 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:55:29,856 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [984946178] [2022-04-28 05:55:29,856 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [984946178] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:55:29,856 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:55:29,856 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [15] imperfect sequences [] total 15 [2022-04-28 05:55:29,856 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1915426889] [2022-04-28 05:55:29,857 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:55:29,857 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 77 [2022-04-28 05:55:29,857 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:55:29,857 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:55:29,911 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:55:29,911 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-28 05:55:29,911 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:55:29,911 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-28 05:55:29,911 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=419, Unknown=1, NotChecked=0, Total=506 [2022-04-28 05:55:29,912 INFO L87 Difference]: Start difference. First operand 214 states and 289 transitions. Second operand has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:55:32,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:55:32,676 INFO L93 Difference]: Finished difference Result 285 states and 377 transitions. [2022-04-28 05:55:32,676 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 05:55:32,676 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 77 [2022-04-28 05:55:32,677 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:55:32,677 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:55:32,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 148 transitions. [2022-04-28 05:55:32,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:55:32,680 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 148 transitions. [2022-04-28 05:55:32,680 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 148 transitions. [2022-04-28 05:55:32,838 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:55:32,843 INFO L225 Difference]: With dead ends: 285 [2022-04-28 05:55:32,844 INFO L226 Difference]: Without dead ends: 283 [2022-04-28 05:55:32,844 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 128 SyntacticMatches, 4 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 123 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=147, Invalid=722, Unknown=1, NotChecked=0, Total=870 [2022-04-28 05:55:32,844 INFO L413 NwaCegarLoop]: 50 mSDtfsCounter, 61 mSDsluCounter, 281 mSDsCounter, 0 mSdLazyCounter, 690 mSolverCounterSat, 54 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 331 SdHoareTripleChecker+Invalid, 744 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 54 IncrementalHoareTripleChecker+Valid, 690 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 05:55:32,844 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [73 Valid, 331 Invalid, 744 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [54 Valid, 690 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 05:55:32,845 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 283 states. [2022-04-28 05:55:33,321 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 283 to 222. [2022-04-28 05:55:33,322 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:55:33,322 INFO L82 GeneralOperation]: Start isEquivalent. First operand 283 states. Second operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 05:55:33,322 INFO L74 IsIncluded]: Start isIncluded. First operand 283 states. Second operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 05:55:33,323 INFO L87 Difference]: Start difference. First operand 283 states. Second operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 05:55:33,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:55:33,328 INFO L93 Difference]: Finished difference Result 283 states and 375 transitions. [2022-04-28 05:55:33,328 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 375 transitions. [2022-04-28 05:55:33,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:55:33,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:55:33,329 INFO L74 IsIncluded]: Start isIncluded. First operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 283 states. [2022-04-28 05:55:33,329 INFO L87 Difference]: Start difference. First operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) Second operand 283 states. [2022-04-28 05:55:33,334 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:55:33,334 INFO L93 Difference]: Finished difference Result 283 states and 375 transitions. [2022-04-28 05:55:33,334 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 375 transitions. [2022-04-28 05:55:33,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:55:33,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:55:33,335 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:55:33,335 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:55:33,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 222 states, 132 states have (on average 1.1742424242424243) internal successors, (155), 133 states have internal predecessors, (155), 71 states have call successors, (71), 19 states have call predecessors, (71), 18 states have return successors, (69), 69 states have call predecessors, (69), 69 states have call successors, (69) [2022-04-28 05:55:33,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 222 states to 222 states and 295 transitions. [2022-04-28 05:55:33,340 INFO L78 Accepts]: Start accepts. Automaton has 222 states and 295 transitions. Word has length 77 [2022-04-28 05:55:33,340 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:55:33,340 INFO L495 AbstractCegarLoop]: Abstraction has 222 states and 295 transitions. [2022-04-28 05:55:33,340 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 2.642857142857143) internal successors, (37), 13 states have internal predecessors, (37), 5 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-28 05:55:33,340 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 222 states and 295 transitions. [2022-04-28 05:55:33,977 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 295 edges. 295 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:55:33,977 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 295 transitions. [2022-04-28 05:55:33,978 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-28 05:55:33,978 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:55:33,978 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:55:33,994 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-28 05:55:34,178 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-28 05:55:34,179 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:55:34,179 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:55:34,179 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 1 times [2022-04-28 05:55:34,179 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:55:34,179 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1722970909] [2022-04-28 05:55:34,179 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:55:34,180 INFO L85 PathProgramCache]: Analyzing trace with hash -1679616651, now seen corresponding path program 2 times [2022-04-28 05:55:34,180 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:55:34,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [91970725] [2022-04-28 05:55:34,180 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:55:34,180 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:55:34,189 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:55:34,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [436930932] [2022-04-28 05:55:34,189 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:55:34,189 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:55:34,189 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:55:34,190 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:55:34,191 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-28 05:55:34,237 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:55:34,238 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:55:34,239 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 61 conjunts are in the unsatisfiable core [2022-04-28 05:55:34,251 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:55:34,252 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:55:35,100 INFO L272 TraceCheckUtils]: 0: Hoare triple {17695#true} call ULTIMATE.init(); {17695#true} is VALID [2022-04-28 05:55:35,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {17695#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {17695#true} is VALID [2022-04-28 05:55:35,100 INFO L290 TraceCheckUtils]: 2: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:55:35,100 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17695#true} {17695#true} #112#return; {17695#true} is VALID [2022-04-28 05:55:35,100 INFO L272 TraceCheckUtils]: 4: Hoare triple {17695#true} call #t~ret6 := main(); {17695#true} is VALID [2022-04-28 05:55:35,100 INFO L290 TraceCheckUtils]: 5: Hoare triple {17695#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {17695#true} is VALID [2022-04-28 05:55:35,100 INFO L272 TraceCheckUtils]: 6: Hoare triple {17695#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:55:35,100 INFO L290 TraceCheckUtils]: 7: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:55:35,100 INFO L290 TraceCheckUtils]: 8: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:55:35,100 INFO L290 TraceCheckUtils]: 9: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:55:35,100 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17695#true} {17695#true} #94#return; {17695#true} is VALID [2022-04-28 05:55:35,100 INFO L290 TraceCheckUtils]: 11: Hoare triple {17695#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17695#true} is VALID [2022-04-28 05:55:35,101 INFO L272 TraceCheckUtils]: 12: Hoare triple {17695#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:55:35,101 INFO L290 TraceCheckUtils]: 13: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:55:35,101 INFO L290 TraceCheckUtils]: 14: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:55:35,101 INFO L290 TraceCheckUtils]: 15: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:55:35,101 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17695#true} {17695#true} #96#return; {17695#true} is VALID [2022-04-28 05:55:35,101 INFO L272 TraceCheckUtils]: 17: Hoare triple {17695#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:55:35,101 INFO L290 TraceCheckUtils]: 18: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:55:35,101 INFO L290 TraceCheckUtils]: 19: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:55:35,101 INFO L290 TraceCheckUtils]: 20: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:55:35,101 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17695#true} {17695#true} #98#return; {17695#true} is VALID [2022-04-28 05:55:35,101 INFO L272 TraceCheckUtils]: 22: Hoare triple {17695#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:55:35,101 INFO L290 TraceCheckUtils]: 23: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:55:35,101 INFO L290 TraceCheckUtils]: 24: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:55:35,101 INFO L290 TraceCheckUtils]: 25: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:55:35,101 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17695#true} {17695#true} #100#return; {17695#true} is VALID [2022-04-28 05:55:35,102 INFO L290 TraceCheckUtils]: 27: Hoare triple {17695#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17781#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,102 INFO L290 TraceCheckUtils]: 28: Hoare triple {17781#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {17781#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,103 INFO L290 TraceCheckUtils]: 29: Hoare triple {17781#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {17788#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,103 INFO L290 TraceCheckUtils]: 30: Hoare triple {17788#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {17788#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,103 INFO L290 TraceCheckUtils]: 31: Hoare triple {17788#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,104 INFO L290 TraceCheckUtils]: 32: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,104 INFO L272 TraceCheckUtils]: 33: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:55:35,104 INFO L290 TraceCheckUtils]: 34: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:55:35,104 INFO L290 TraceCheckUtils]: 35: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:55:35,104 INFO L290 TraceCheckUtils]: 36: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:55:35,105 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {17695#true} {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,105 INFO L272 TraceCheckUtils]: 38: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:55:35,105 INFO L290 TraceCheckUtils]: 39: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:55:35,105 INFO L290 TraceCheckUtils]: 40: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:55:35,105 INFO L290 TraceCheckUtils]: 41: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:55:35,106 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17695#true} {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,106 INFO L272 TraceCheckUtils]: 43: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:55:35,106 INFO L290 TraceCheckUtils]: 44: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:55:35,106 INFO L290 TraceCheckUtils]: 45: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:55:35,106 INFO L290 TraceCheckUtils]: 46: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:55:35,107 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17695#true} {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,107 INFO L272 TraceCheckUtils]: 48: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:55:35,107 INFO L290 TraceCheckUtils]: 49: Hoare triple {17695#true} ~cond := #in~cond; {17850#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:55:35,108 INFO L290 TraceCheckUtils]: 50: Hoare triple {17850#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:35,108 INFO L290 TraceCheckUtils]: 51: Hoare triple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:35,109 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,109 INFO L290 TraceCheckUtils]: 53: Hoare triple {17795#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,110 INFO L290 TraceCheckUtils]: 54: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,110 INFO L272 TraceCheckUtils]: 55: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:55:35,110 INFO L290 TraceCheckUtils]: 56: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:55:35,110 INFO L290 TraceCheckUtils]: 57: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:55:35,110 INFO L290 TraceCheckUtils]: 58: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:55:35,111 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17695#true} {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,111 INFO L272 TraceCheckUtils]: 60: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:55:35,111 INFO L290 TraceCheckUtils]: 61: Hoare triple {17695#true} ~cond := #in~cond; {17850#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:55:35,111 INFO L290 TraceCheckUtils]: 62: Hoare triple {17850#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:35,112 INFO L290 TraceCheckUtils]: 63: Hoare triple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:55:35,112 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,113 INFO L272 TraceCheckUtils]: 65: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:55:35,113 INFO L290 TraceCheckUtils]: 66: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:55:35,113 INFO L290 TraceCheckUtils]: 67: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:55:35,113 INFO L290 TraceCheckUtils]: 68: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:55:35,114 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {17695#true} {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,114 INFO L272 TraceCheckUtils]: 70: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:55:35,114 INFO L290 TraceCheckUtils]: 71: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:55:35,114 INFO L290 TraceCheckUtils]: 72: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:55:35,114 INFO L290 TraceCheckUtils]: 73: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:55:35,115 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {17695#true} {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,116 INFO L290 TraceCheckUtils]: 75: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,116 INFO L290 TraceCheckUtils]: 76: Hoare triple {17864#(and (= main_~r~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,117 INFO L290 TraceCheckUtils]: 77: Hoare triple {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} assume !false; {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,117 INFO L290 TraceCheckUtils]: 78: Hoare triple {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} is VALID [2022-04-28 05:55:35,118 INFO L290 TraceCheckUtils]: 79: Hoare triple {17934#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~c~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {17944#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-28 05:55:35,119 INFO L290 TraceCheckUtils]: 80: Hoare triple {17944#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))))} assume !false; {17944#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))))} is VALID [2022-04-28 05:55:35,119 INFO L290 TraceCheckUtils]: 81: Hoare triple {17944#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~y~0))))} assume !(0 != ~b~0); {17951#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 2) main_~y~0)) 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1))} is VALID [2022-04-28 05:55:35,120 INFO L272 TraceCheckUtils]: 82: Hoare triple {17951#(and (= main_~p~0 0) (= (+ main_~x~0 (* (- 2) main_~y~0)) 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 2) 0) (= main_~q~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {17955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:55:35,120 INFO L290 TraceCheckUtils]: 83: Hoare triple {17955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:55:35,121 INFO L290 TraceCheckUtils]: 84: Hoare triple {17959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17696#false} is VALID [2022-04-28 05:55:35,121 INFO L290 TraceCheckUtils]: 85: Hoare triple {17696#false} assume !false; {17696#false} is VALID [2022-04-28 05:55:35,121 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 35 proven. 27 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-28 05:55:35,121 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:56:33,394 INFO L290 TraceCheckUtils]: 85: Hoare triple {17696#false} assume !false; {17696#false} is VALID [2022-04-28 05:56:33,395 INFO L290 TraceCheckUtils]: 84: Hoare triple {17959#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {17696#false} is VALID [2022-04-28 05:56:33,395 INFO L290 TraceCheckUtils]: 83: Hoare triple {17955#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {17959#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:56:33,396 INFO L272 TraceCheckUtils]: 82: Hoare triple {17975#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {17955#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:56:33,396 INFO L290 TraceCheckUtils]: 81: Hoare triple {17979#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {17975#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 05:56:33,397 INFO L290 TraceCheckUtils]: 80: Hoare triple {17979#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {17979#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-28 05:56:33,519 INFO L290 TraceCheckUtils]: 79: Hoare triple {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {17979#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-28 05:56:33,520 INFO L290 TraceCheckUtils]: 78: Hoare triple {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:56:33,520 INFO L290 TraceCheckUtils]: 77: Hoare triple {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:56:33,650 INFO L290 TraceCheckUtils]: 76: Hoare triple {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {17986#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:56:33,651 INFO L290 TraceCheckUtils]: 75: Hoare triple {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:56:33,652 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {17695#true} {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:56:33,652 INFO L290 TraceCheckUtils]: 73: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:56:33,652 INFO L290 TraceCheckUtils]: 72: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:56:33,652 INFO L290 TraceCheckUtils]: 71: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:56:33,652 INFO L272 TraceCheckUtils]: 70: Hoare triple {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:56:33,653 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {17695#true} {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:56:33,653 INFO L290 TraceCheckUtils]: 68: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:56:33,653 INFO L290 TraceCheckUtils]: 67: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:56:33,653 INFO L290 TraceCheckUtils]: 66: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:56:33,653 INFO L272 TraceCheckUtils]: 65: Hoare triple {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:56:33,654 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {17996#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:56:33,654 INFO L290 TraceCheckUtils]: 63: Hoare triple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:56:33,655 INFO L290 TraceCheckUtils]: 62: Hoare triple {18043#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:56:33,655 INFO L290 TraceCheckUtils]: 61: Hoare triple {17695#true} ~cond := #in~cond; {18043#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:56:33,655 INFO L272 TraceCheckUtils]: 60: Hoare triple {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:56:33,656 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {17695#true} {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:56:33,656 INFO L290 TraceCheckUtils]: 58: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:56:33,656 INFO L290 TraceCheckUtils]: 57: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:56:33,656 INFO L290 TraceCheckUtils]: 56: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:56:33,656 INFO L272 TraceCheckUtils]: 55: Hoare triple {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:56:33,656 INFO L290 TraceCheckUtils]: 54: Hoare triple {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:56:33,787 INFO L290 TraceCheckUtils]: 53: Hoare triple {18068#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {18033#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:56:33,789 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #108#return; {18068#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))))} is VALID [2022-04-28 05:56:33,789 INFO L290 TraceCheckUtils]: 51: Hoare triple {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:56:33,789 INFO L290 TraceCheckUtils]: 50: Hoare triple {18043#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {17854#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:56:33,790 INFO L290 TraceCheckUtils]: 49: Hoare triple {17695#true} ~cond := #in~cond; {18043#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 05:56:33,790 INFO L272 TraceCheckUtils]: 48: Hoare triple {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:56:33,790 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17695#true} {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #106#return; {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 05:56:33,791 INFO L290 TraceCheckUtils]: 46: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:56:33,791 INFO L290 TraceCheckUtils]: 45: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:56:33,791 INFO L290 TraceCheckUtils]: 44: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:56:33,791 INFO L272 TraceCheckUtils]: 43: Hoare triple {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:56:33,792 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17695#true} {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #104#return; {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 05:56:33,792 INFO L290 TraceCheckUtils]: 41: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:56:33,792 INFO L290 TraceCheckUtils]: 40: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:56:33,792 INFO L290 TraceCheckUtils]: 39: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:56:33,792 INFO L272 TraceCheckUtils]: 38: Hoare triple {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:56:33,793 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {17695#true} {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #102#return; {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 05:56:33,793 INFO L290 TraceCheckUtils]: 36: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:56:33,793 INFO L290 TraceCheckUtils]: 35: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:56:33,793 INFO L290 TraceCheckUtils]: 34: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:56:33,793 INFO L272 TraceCheckUtils]: 33: Hoare triple {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:56:33,793 INFO L290 TraceCheckUtils]: 32: Hoare triple {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} assume !false; {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 05:56:33,794 INFO L290 TraceCheckUtils]: 31: Hoare triple {18136#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 2))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {18072#(or (not (= (* main_~v~0 2) main_~c~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 (+ (* (- 1) (* (+ main_~k~0 (* main_~d~0 2)) main_~s~0)) main_~r~0)) main_~b~0 (* (+ main_~p~0 (* (- 1) (+ main_~k~0 (* main_~d~0 2)) main_~q~0)) main_~x~0))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 05:56:33,795 INFO L290 TraceCheckUtils]: 30: Hoare triple {18136#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 2))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} assume !false; {18136#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 2))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-28 05:56:33,795 INFO L290 TraceCheckUtils]: 29: Hoare triple {18143#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {18136#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~c~0 (* main_~b~0 2))) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ main_~b~0 (* main_~y~0 (+ (* (* (+ main_~k~0 2) main_~s~0) (- 1)) main_~r~0)) (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 2) main_~q~0))))))} is VALID [2022-04-28 05:56:33,796 INFO L290 TraceCheckUtils]: 28: Hoare triple {18143#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {18143#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:56:33,796 INFO L290 TraceCheckUtils]: 27: Hoare triple {17695#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {18143#(or (not (= main_~a~0 (* main_~b~0 2))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 05:56:33,796 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {17695#true} {17695#true} #100#return; {17695#true} is VALID [2022-04-28 05:56:33,796 INFO L290 TraceCheckUtils]: 25: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:56:33,796 INFO L290 TraceCheckUtils]: 24: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:56:33,796 INFO L290 TraceCheckUtils]: 23: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:56:33,796 INFO L272 TraceCheckUtils]: 22: Hoare triple {17695#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:56:33,796 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {17695#true} {17695#true} #98#return; {17695#true} is VALID [2022-04-28 05:56:33,796 INFO L290 TraceCheckUtils]: 20: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L290 TraceCheckUtils]: 19: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L290 TraceCheckUtils]: 18: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L272 TraceCheckUtils]: 17: Hoare triple {17695#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {17695#true} {17695#true} #96#return; {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L290 TraceCheckUtils]: 15: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L290 TraceCheckUtils]: 14: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L290 TraceCheckUtils]: 13: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L272 TraceCheckUtils]: 12: Hoare triple {17695#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L290 TraceCheckUtils]: 11: Hoare triple {17695#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {17695#true} {17695#true} #94#return; {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L290 TraceCheckUtils]: 9: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L290 TraceCheckUtils]: 8: Hoare triple {17695#true} assume !(0 == ~cond); {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L290 TraceCheckUtils]: 7: Hoare triple {17695#true} ~cond := #in~cond; {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L272 TraceCheckUtils]: 6: Hoare triple {17695#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L290 TraceCheckUtils]: 5: Hoare triple {17695#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L272 TraceCheckUtils]: 4: Hoare triple {17695#true} call #t~ret6 := main(); {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17695#true} {17695#true} #112#return; {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L290 TraceCheckUtils]: 2: Hoare triple {17695#true} assume true; {17695#true} is VALID [2022-04-28 05:56:33,797 INFO L290 TraceCheckUtils]: 1: Hoare triple {17695#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {17695#true} is VALID [2022-04-28 05:56:33,798 INFO L272 TraceCheckUtils]: 0: Hoare triple {17695#true} call ULTIMATE.init(); {17695#true} is VALID [2022-04-28 05:56:33,798 INFO L134 CoverageAnalysis]: Checked inductivity of 162 backedges. 35 proven. 27 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-28 05:56:33,798 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:56:33,798 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [91970725] [2022-04-28 05:56:33,798 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:56:33,798 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [436930932] [2022-04-28 05:56:33,798 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [436930932] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 05:56:33,798 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 05:56:33,798 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 15] total 23 [2022-04-28 05:56:33,799 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:56:33,799 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1722970909] [2022-04-28 05:56:33,799 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1722970909] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:56:33,799 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:56:33,799 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 05:56:33,799 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1168245285] [2022-04-28 05:56:33,799 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:56:33,799 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 86 [2022-04-28 05:56:33,799 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:56:33,800 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-28 05:56:33,852 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:56:33,852 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 05:56:33,852 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:56:33,852 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 05:56:33,852 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=429, Unknown=0, NotChecked=0, Total=506 [2022-04-28 05:56:33,853 INFO L87 Difference]: Start difference. First operand 222 states and 295 transitions. Second operand has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-28 05:56:36,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:56:36,885 INFO L93 Difference]: Finished difference Result 309 states and 417 transitions. [2022-04-28 05:56:36,885 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 05:56:36,885 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) Word has length 86 [2022-04-28 05:56:36,885 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:56:36,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-28 05:56:36,887 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 143 transitions. [2022-04-28 05:56:36,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-28 05:56:36,888 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 143 transitions. [2022-04-28 05:56:36,888 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 143 transitions. [2022-04-28 05:56:37,034 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:56:37,040 INFO L225 Difference]: With dead ends: 309 [2022-04-28 05:56:37,040 INFO L226 Difference]: Without dead ends: 306 [2022-04-28 05:56:37,040 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 148 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 120 ImplicationChecksByTransitivity, 1.7s TimeCoverageRelationStatistics Valid=143, Invalid=727, Unknown=0, NotChecked=0, Total=870 [2022-04-28 05:56:37,041 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 57 mSDsluCounter, 242 mSDsCounter, 0 mSdLazyCounter, 669 mSolverCounterSat, 77 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 294 SdHoareTripleChecker+Invalid, 746 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 77 IncrementalHoareTripleChecker+Valid, 669 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-28 05:56:37,041 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [65 Valid, 294 Invalid, 746 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [77 Valid, 669 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-28 05:56:37,041 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 306 states. [2022-04-28 05:56:37,823 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 306 to 287. [2022-04-28 05:56:37,823 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:56:37,824 INFO L82 GeneralOperation]: Start isEquivalent. First operand 306 states. Second operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) [2022-04-28 05:56:37,824 INFO L74 IsIncluded]: Start isIncluded. First operand 306 states. Second operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) [2022-04-28 05:56:37,825 INFO L87 Difference]: Start difference. First operand 306 states. Second operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) [2022-04-28 05:56:37,833 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:56:37,833 INFO L93 Difference]: Finished difference Result 306 states and 413 transitions. [2022-04-28 05:56:37,833 INFO L276 IsEmpty]: Start isEmpty. Operand 306 states and 413 transitions. [2022-04-28 05:56:37,834 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:56:37,834 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:56:37,834 INFO L74 IsIncluded]: Start isIncluded. First operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) Second operand 306 states. [2022-04-28 05:56:37,835 INFO L87 Difference]: Start difference. First operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) Second operand 306 states. [2022-04-28 05:56:37,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:56:37,841 INFO L93 Difference]: Finished difference Result 306 states and 413 transitions. [2022-04-28 05:56:37,841 INFO L276 IsEmpty]: Start isEmpty. Operand 306 states and 413 transitions. [2022-04-28 05:56:37,841 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:56:37,842 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:56:37,842 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:56:37,842 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:56:37,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 287 states, 166 states have (on average 1.1927710843373494) internal successors, (198), 167 states have internal predecessors, (198), 99 states have call successors, (99), 22 states have call predecessors, (99), 21 states have return successors, (97), 97 states have call predecessors, (97), 97 states have call successors, (97) [2022-04-28 05:56:37,848 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 287 states to 287 states and 394 transitions. [2022-04-28 05:56:37,849 INFO L78 Accepts]: Start accepts. Automaton has 287 states and 394 transitions. Word has length 86 [2022-04-28 05:56:37,849 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:56:37,849 INFO L495 AbstractCegarLoop]: Abstraction has 287 states and 394 transitions. [2022-04-28 05:56:37,849 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.5833333333333335) internal successors, (31), 12 states have internal predecessors, (31), 4 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 3 states have call predecessors, (13), 3 states have call successors, (13) [2022-04-28 05:56:37,849 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 287 states and 394 transitions. [2022-04-28 05:56:38,692 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 394 edges. 394 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:56:38,692 INFO L276 IsEmpty]: Start isEmpty. Operand 287 states and 394 transitions. [2022-04-28 05:56:38,693 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 05:56:38,693 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:56:38,693 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 4, 4, 4, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:56:38,710 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-28 05:56:38,894 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:56:38,894 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:56:38,894 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:56:38,894 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 3 times [2022-04-28 05:56:38,895 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:56:38,895 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1628916979] [2022-04-28 05:56:38,895 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:56:38,895 INFO L85 PathProgramCache]: Analyzing trace with hash -1455197645, now seen corresponding path program 4 times [2022-04-28 05:56:38,895 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:56:38,895 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [217372713] [2022-04-28 05:56:38,895 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:56:38,895 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:56:38,908 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:56:38,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1401625028] [2022-04-28 05:56:38,908 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 05:56:38,908 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:56:38,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:56:38,909 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:56:38,910 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-28 05:56:38,961 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 05:56:38,961 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:56:38,962 INFO L263 TraceCheckSpWp]: Trace formula consists of 202 conjuncts, 76 conjunts are in the unsatisfiable core [2022-04-28 05:56:38,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:56:38,982 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:56:53,678 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:56:59,644 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:57:21,853 WARN L232 SmtUtils]: Spent 13.55s on a formula simplification. DAG size of input: 63 DAG size of output: 51 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 05:57:26,072 INFO L272 TraceCheckUtils]: 0: Hoare triple {20051#true} call ULTIMATE.init(); {20051#true} is VALID [2022-04-28 05:57:26,072 INFO L290 TraceCheckUtils]: 1: Hoare triple {20051#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {20051#true} is VALID [2022-04-28 05:57:26,072 INFO L290 TraceCheckUtils]: 2: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-28 05:57:26,072 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20051#true} {20051#true} #112#return; {20051#true} is VALID [2022-04-28 05:57:26,072 INFO L272 TraceCheckUtils]: 4: Hoare triple {20051#true} call #t~ret6 := main(); {20051#true} is VALID [2022-04-28 05:57:26,072 INFO L290 TraceCheckUtils]: 5: Hoare triple {20051#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {20051#true} is VALID [2022-04-28 05:57:26,072 INFO L272 TraceCheckUtils]: 6: Hoare triple {20051#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {20051#true} is VALID [2022-04-28 05:57:26,072 INFO L290 TraceCheckUtils]: 7: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-28 05:57:26,072 INFO L290 TraceCheckUtils]: 8: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-28 05:57:26,072 INFO L290 TraceCheckUtils]: 9: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-28 05:57:26,072 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20051#true} {20051#true} #94#return; {20051#true} is VALID [2022-04-28 05:57:26,072 INFO L290 TraceCheckUtils]: 11: Hoare triple {20051#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20051#true} is VALID [2022-04-28 05:57:26,072 INFO L272 TraceCheckUtils]: 12: Hoare triple {20051#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {20051#true} is VALID [2022-04-28 05:57:26,073 INFO L290 TraceCheckUtils]: 13: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-28 05:57:26,073 INFO L290 TraceCheckUtils]: 14: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-28 05:57:26,073 INFO L290 TraceCheckUtils]: 15: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-28 05:57:26,073 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20051#true} {20051#true} #96#return; {20051#true} is VALID [2022-04-28 05:57:26,073 INFO L272 TraceCheckUtils]: 17: Hoare triple {20051#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20051#true} is VALID [2022-04-28 05:57:26,073 INFO L290 TraceCheckUtils]: 18: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-28 05:57:26,073 INFO L290 TraceCheckUtils]: 19: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-28 05:57:26,073 INFO L290 TraceCheckUtils]: 20: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-28 05:57:26,073 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20051#true} {20051#true} #98#return; {20051#true} is VALID [2022-04-28 05:57:26,073 INFO L272 TraceCheckUtils]: 22: Hoare triple {20051#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20051#true} is VALID [2022-04-28 05:57:26,073 INFO L290 TraceCheckUtils]: 23: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-28 05:57:26,073 INFO L290 TraceCheckUtils]: 24: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-28 05:57:26,073 INFO L290 TraceCheckUtils]: 25: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-28 05:57:26,073 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20051#true} {20051#true} #100#return; {20051#true} is VALID [2022-04-28 05:57:26,074 INFO L290 TraceCheckUtils]: 27: Hoare triple {20051#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20137#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:57:26,074 INFO L290 TraceCheckUtils]: 28: Hoare triple {20137#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {20137#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:57:26,074 INFO L290 TraceCheckUtils]: 29: Hoare triple {20137#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:57:26,075 INFO L290 TraceCheckUtils]: 30: Hoare triple {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:57:26,075 INFO L290 TraceCheckUtils]: 31: Hoare triple {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:57:26,076 INFO L290 TraceCheckUtils]: 32: Hoare triple {20144#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20154#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:57:26,076 INFO L290 TraceCheckUtils]: 33: Hoare triple {20154#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {20154#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:57:26,076 INFO L290 TraceCheckUtils]: 34: Hoare triple {20154#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {20161#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:57:26,077 INFO L290 TraceCheckUtils]: 35: Hoare triple {20161#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {20161#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:57:26,077 INFO L290 TraceCheckUtils]: 36: Hoare triple {20161#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:57:26,078 INFO L290 TraceCheckUtils]: 37: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:57:26,078 INFO L272 TraceCheckUtils]: 38: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20051#true} is VALID [2022-04-28 05:57:26,078 INFO L290 TraceCheckUtils]: 39: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-28 05:57:26,078 INFO L290 TraceCheckUtils]: 40: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-28 05:57:26,078 INFO L290 TraceCheckUtils]: 41: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-28 05:57:26,078 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20051#true} {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #102#return; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:57:26,079 INFO L272 TraceCheckUtils]: 43: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20051#true} is VALID [2022-04-28 05:57:26,079 INFO L290 TraceCheckUtils]: 44: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-28 05:57:26,079 INFO L290 TraceCheckUtils]: 45: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-28 05:57:26,079 INFO L290 TraceCheckUtils]: 46: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-28 05:57:26,079 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20051#true} {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #104#return; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:57:26,080 INFO L272 TraceCheckUtils]: 48: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20051#true} is VALID [2022-04-28 05:57:26,080 INFO L290 TraceCheckUtils]: 49: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-28 05:57:26,080 INFO L290 TraceCheckUtils]: 50: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-28 05:57:26,080 INFO L290 TraceCheckUtils]: 51: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-28 05:57:26,080 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20051#true} {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #106#return; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:57:26,080 INFO L272 TraceCheckUtils]: 53: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20051#true} is VALID [2022-04-28 05:57:26,080 INFO L290 TraceCheckUtils]: 54: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-28 05:57:26,081 INFO L290 TraceCheckUtils]: 55: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-28 05:57:26,081 INFO L290 TraceCheckUtils]: 56: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-28 05:57:26,081 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {20051#true} {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} #108#return; {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:57:26,082 INFO L290 TraceCheckUtils]: 58: Hoare triple {20168#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {20235#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 05:57:26,083 INFO L290 TraceCheckUtils]: 59: Hoare triple {20235#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} assume !false; {20235#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} is VALID [2022-04-28 05:57:26,083 INFO L272 TraceCheckUtils]: 60: Hoare triple {20235#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20051#true} is VALID [2022-04-28 05:57:26,083 INFO L290 TraceCheckUtils]: 61: Hoare triple {20051#true} ~cond := #in~cond; {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:57:26,083 INFO L290 TraceCheckUtils]: 62: Hoare triple {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:57:26,084 INFO L290 TraceCheckUtils]: 63: Hoare triple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:57:26,085 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} {20235#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0))} #102#return; {20256#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:57:26,085 INFO L272 TraceCheckUtils]: 65: Hoare triple {20256#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20051#true} is VALID [2022-04-28 05:57:26,085 INFO L290 TraceCheckUtils]: 66: Hoare triple {20051#true} ~cond := #in~cond; {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:57:26,085 INFO L290 TraceCheckUtils]: 67: Hoare triple {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:57:26,085 INFO L290 TraceCheckUtils]: 68: Hoare triple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:57:26,086 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} {20256#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:57:26,087 INFO L272 TraceCheckUtils]: 70: Hoare triple {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20051#true} is VALID [2022-04-28 05:57:26,087 INFO L290 TraceCheckUtils]: 71: Hoare triple {20051#true} ~cond := #in~cond; {20051#true} is VALID [2022-04-28 05:57:26,087 INFO L290 TraceCheckUtils]: 72: Hoare triple {20051#true} assume !(0 == ~cond); {20051#true} is VALID [2022-04-28 05:57:26,087 INFO L290 TraceCheckUtils]: 73: Hoare triple {20051#true} assume true; {20051#true} is VALID [2022-04-28 05:57:26,087 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {20051#true} {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:57:26,088 INFO L272 TraceCheckUtils]: 75: Hoare triple {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {20051#true} is VALID [2022-04-28 05:57:26,088 INFO L290 TraceCheckUtils]: 76: Hoare triple {20051#true} ~cond := #in~cond; {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:57:26,088 INFO L290 TraceCheckUtils]: 77: Hoare triple {20245#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:57:26,088 INFO L290 TraceCheckUtils]: 78: Hoare triple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:57:26,089 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {20249#(not (= |__VERIFIER_assert_#in~cond| 0))} {20272#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {20303#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:57:26,090 INFO L290 TraceCheckUtils]: 80: Hoare triple {20303#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {20303#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:57:26,092 INFO L290 TraceCheckUtils]: 81: Hoare triple {20303#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (mod main_~d~0 2) 0) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-28 05:57:26,092 INFO L290 TraceCheckUtils]: 82: Hoare triple {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} assume !false; {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-28 05:57:26,093 INFO L290 TraceCheckUtils]: 83: Hoare triple {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} assume !(~c~0 >= ~b~0); {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-28 05:57:28,095 WARN L290 TraceCheckUtils]: 84: Hoare triple {20310#(and (= main_~s~0 0) (= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= (mod main_~k~0 2) 0) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {20320#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (or (and (= (+ main_~b~0 (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0))) (and (= main_~a~0 0) (or (and (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (+ main_~b~0 (* (* main_~a~0 aux_div_main_~k~0_17) 2)))) (= (mod main_~q~0 2) 0) (= (div (* (- 1) main_~q~0) 2) 0)) (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0) (+ (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) main_~b~0)))))))} is UNKNOWN [2022-04-28 05:57:28,097 INFO L290 TraceCheckUtils]: 85: Hoare triple {20320#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (or (and (= (+ main_~b~0 (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0))) (and (= main_~a~0 0) (or (and (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (+ main_~b~0 (* (* main_~a~0 aux_div_main_~k~0_17) 2)))) (= (mod main_~q~0 2) 0) (= (div (* (- 1) main_~q~0) 2) 0)) (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0) (+ (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) main_~b~0)))))))} assume !false; {20320#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (or (and (= (+ main_~b~0 (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0))) (and (= main_~a~0 0) (or (and (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (+ main_~b~0 (* (* main_~a~0 aux_div_main_~k~0_17) 2)))) (= (mod main_~q~0 2) 0) (= (div (* (- 1) main_~q~0) 2) 0)) (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0) (+ (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) main_~b~0)))))))} is VALID [2022-04-28 05:57:28,105 INFO L290 TraceCheckUtils]: 86: Hoare triple {20320#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (= main_~a~0 main_~x~0) (or (and (= (+ main_~b~0 (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0) (not (= main_~a~0 0))) (and (= main_~a~0 0) (or (and (exists ((aux_div_main_~k~0_17 Int)) (= (+ (* main_~q~0 main_~x~0) main_~y~0 (* 2 (* main_~p~0 main_~x~0 aux_div_main_~k~0_17))) (+ main_~b~0 (* (* main_~a~0 aux_div_main_~k~0_17) 2)))) (= (mod main_~q~0 2) 0) (= (div (* (- 1) main_~q~0) 2) 0)) (and (not (= main_~p~0 0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0) (= (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0) (+ (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) main_~b~0)))))))} assume !(0 != ~b~0); {20327#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (or (and (= (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0) (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0)) (and (= main_~a~0 0) (not (= main_~p~0 0)) (= (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0))) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:57:28,111 INFO L272 TraceCheckUtils]: 87: Hoare triple {20327#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~a~0 (* main_~p~0 main_~x~0)) (or (and (= (+ (* main_~q~0 main_~x~0) (* (* (div main_~a~0 main_~a~0) main_~p~0 main_~x~0) 2) main_~y~0) (* (* (div main_~a~0 main_~a~0) main_~a~0) 2)) (= (+ main_~q~0 (* (* (div main_~a~0 main_~a~0) main_~p~0) 2)) 0)) (and (= main_~a~0 0) (not (= main_~p~0 0)) (= (* (* main_~a~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0)) 2) (+ (* main_~q~0 main_~x~0) (* 2 (* main_~p~0 main_~x~0 (div (div (* (- 1) main_~q~0) 2) main_~p~0))) main_~y~0)) (= (mod main_~q~0 2) 0) (= (mod (div (- main_~q~0) 2) main_~p~0) 0))) (= main_~a~0 main_~x~0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {20331#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:57:28,112 INFO L290 TraceCheckUtils]: 88: Hoare triple {20331#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20335#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:57:28,112 INFO L290 TraceCheckUtils]: 89: Hoare triple {20335#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20052#false} is VALID [2022-04-28 05:57:28,112 INFO L290 TraceCheckUtils]: 90: Hoare triple {20052#false} assume !false; {20052#false} is VALID [2022-04-28 05:57:28,113 INFO L134 CoverageAnalysis]: Checked inductivity of 171 backedges. 52 proven. 28 refuted. 0 times theorem prover too weak. 91 trivial. 0 not checked. [2022-04-28 05:57:28,113 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 05:58:51,785 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 05:58:55,303 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 05:58:55,303 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [217372713] [2022-04-28 05:58:55,303 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 05:58:55,303 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1401625028] [2022-04-28 05:58:55,304 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1401625028] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 05:58:55,304 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 05:58:55,304 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18] total 18 [2022-04-28 05:58:55,304 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 05:58:55,304 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1628916979] [2022-04-28 05:58:55,304 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1628916979] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 05:58:55,304 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 05:58:55,304 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 05:58:55,304 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1610409407] [2022-04-28 05:58:55,304 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 05:58:55,304 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 91 [2022-04-28 05:58:55,305 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 05:58:55,305 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:58:57,387 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 63 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 05:58:57,388 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 05:58:57,388 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 05:58:57,388 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 05:58:57,388 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=592, Unknown=3, NotChecked=0, Total=702 [2022-04-28 05:58:57,388 INFO L87 Difference]: Start difference. First operand 287 states and 394 transitions. Second operand has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:59:03,358 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 05:59:05,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:59:05,627 INFO L93 Difference]: Finished difference Result 342 states and 465 transitions. [2022-04-28 05:59:05,627 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 05:59:05,627 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 91 [2022-04-28 05:59:05,627 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 05:59:05,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:59:05,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 164 transitions. [2022-04-28 05:59:05,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:59:05,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 164 transitions. [2022-04-28 05:59:05,631 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 164 transitions. [2022-04-28 05:59:07,839 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 163 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 05:59:07,846 INFO L225 Difference]: With dead ends: 342 [2022-04-28 05:59:07,846 INFO L226 Difference]: Without dead ends: 339 [2022-04-28 05:59:07,846 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 98 SyntacticMatches, 1 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 195 ImplicationChecksByTransitivity, 35.8s TimeCoverageRelationStatistics Valid=166, Invalid=887, Unknown=3, NotChecked=0, Total=1056 [2022-04-28 05:59:07,846 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 66 mSDsluCounter, 378 mSDsCounter, 0 mSdLazyCounter, 977 mSolverCounterSat, 61 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 4.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 80 SdHoareTripleChecker+Valid, 431 SdHoareTripleChecker+Invalid, 1177 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 61 IncrementalHoareTripleChecker+Valid, 977 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 138 IncrementalHoareTripleChecker+Unchecked, 4.3s IncrementalHoareTripleChecker+Time [2022-04-28 05:59:07,847 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [80 Valid, 431 Invalid, 1177 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [61 Valid, 977 Invalid, 1 Unknown, 138 Unchecked, 4.3s Time] [2022-04-28 05:59:07,847 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 339 states. [2022-04-28 05:59:08,857 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 339 to 316. [2022-04-28 05:59:08,857 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 05:59:08,858 INFO L82 GeneralOperation]: Start isEquivalent. First operand 339 states. Second operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-28 05:59:08,867 INFO L74 IsIncluded]: Start isIncluded. First operand 339 states. Second operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-28 05:59:08,868 INFO L87 Difference]: Start difference. First operand 339 states. Second operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-28 05:59:08,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:59:08,875 INFO L93 Difference]: Finished difference Result 339 states and 461 transitions. [2022-04-28 05:59:08,875 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 461 transitions. [2022-04-28 05:59:08,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:59:08,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:59:08,876 INFO L74 IsIncluded]: Start isIncluded. First operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) Second operand 339 states. [2022-04-28 05:59:08,876 INFO L87 Difference]: Start difference. First operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) Second operand 339 states. [2022-04-28 05:59:08,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 05:59:08,885 INFO L93 Difference]: Finished difference Result 339 states and 461 transitions. [2022-04-28 05:59:08,885 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 461 transitions. [2022-04-28 05:59:08,886 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 05:59:08,886 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 05:59:08,886 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 05:59:08,886 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 05:59:08,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 316 states, 181 states have (on average 1.1988950276243093) internal successors, (217), 182 states have internal predecessors, (217), 111 states have call successors, (111), 24 states have call predecessors, (111), 23 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-28 05:59:08,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 316 states to 316 states and 437 transitions. [2022-04-28 05:59:08,896 INFO L78 Accepts]: Start accepts. Automaton has 316 states and 437 transitions. Word has length 91 [2022-04-28 05:59:08,897 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 05:59:08,897 INFO L495 AbstractCegarLoop]: Abstraction has 316 states and 437 transitions. [2022-04-28 05:59:08,897 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-28 05:59:08,897 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 316 states and 437 transitions. [2022-04-28 05:59:09,936 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 437 edges. 437 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 05:59:09,936 INFO L276 IsEmpty]: Start isEmpty. Operand 316 states and 437 transitions. [2022-04-28 05:59:09,937 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-28 05:59:09,937 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 05:59:09,937 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 05:59:09,953 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-28 05:59:10,138 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 05:59:10,138 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 05:59:10,138 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 05:59:10,138 INFO L85 PathProgramCache]: Analyzing trace with hash 1983923522, now seen corresponding path program 1 times [2022-04-28 05:59:10,138 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 05:59:10,138 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [986028215] [2022-04-28 05:59:10,139 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 05:59:10,139 INFO L85 PathProgramCache]: Analyzing trace with hash 1983923522, now seen corresponding path program 2 times [2022-04-28 05:59:10,139 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 05:59:10,139 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1987731928] [2022-04-28 05:59:10,139 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 05:59:10,139 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 05:59:10,150 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 05:59:10,150 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1058146805] [2022-04-28 05:59:10,150 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 05:59:10,150 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 05:59:10,150 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 05:59:10,151 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 05:59:10,152 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-28 05:59:10,209 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 05:59:10,209 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 05:59:10,211 INFO L263 TraceCheckSpWp]: Trace formula consists of 260 conjuncts, 90 conjunts are in the unsatisfiable core [2022-04-28 05:59:10,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 05:59:10,239 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 05:59:12,510 INFO L272 TraceCheckUtils]: 0: Hoare triple {22458#true} call ULTIMATE.init(); {22458#true} is VALID [2022-04-28 05:59:12,510 INFO L290 TraceCheckUtils]: 1: Hoare triple {22458#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {22458#true} is VALID [2022-04-28 05:59:12,510 INFO L290 TraceCheckUtils]: 2: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 05:59:12,510 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22458#true} {22458#true} #112#return; {22458#true} is VALID [2022-04-28 05:59:12,510 INFO L272 TraceCheckUtils]: 4: Hoare triple {22458#true} call #t~ret6 := main(); {22458#true} is VALID [2022-04-28 05:59:12,510 INFO L290 TraceCheckUtils]: 5: Hoare triple {22458#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {22458#true} is VALID [2022-04-28 05:59:12,510 INFO L272 TraceCheckUtils]: 6: Hoare triple {22458#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {22458#true} is VALID [2022-04-28 05:59:12,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 05:59:12,510 INFO L290 TraceCheckUtils]: 8: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 05:59:12,510 INFO L290 TraceCheckUtils]: 9: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22458#true} {22458#true} #94#return; {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L290 TraceCheckUtils]: 11: Hoare triple {22458#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L272 TraceCheckUtils]: 12: Hoare triple {22458#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L290 TraceCheckUtils]: 13: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L290 TraceCheckUtils]: 14: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L290 TraceCheckUtils]: 15: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {22458#true} {22458#true} #96#return; {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L272 TraceCheckUtils]: 17: Hoare triple {22458#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L290 TraceCheckUtils]: 18: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L290 TraceCheckUtils]: 19: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L290 TraceCheckUtils]: 20: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22458#true} {22458#true} #98#return; {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L272 TraceCheckUtils]: 22: Hoare triple {22458#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L290 TraceCheckUtils]: 23: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L290 TraceCheckUtils]: 24: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L290 TraceCheckUtils]: 25: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 05:59:12,511 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22458#true} {22458#true} #100#return; {22458#true} is VALID [2022-04-28 05:59:12,512 INFO L290 TraceCheckUtils]: 27: Hoare triple {22458#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {22544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:59:12,512 INFO L290 TraceCheckUtils]: 28: Hoare triple {22544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {22544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 05:59:12,512 INFO L290 TraceCheckUtils]: 29: Hoare triple {22544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:59:12,513 INFO L290 TraceCheckUtils]: 30: Hoare triple {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:59:12,513 INFO L290 TraceCheckUtils]: 31: Hoare triple {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 05:59:12,513 INFO L290 TraceCheckUtils]: 32: Hoare triple {22551#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22561#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:59:12,513 INFO L290 TraceCheckUtils]: 33: Hoare triple {22561#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {22561#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:59:12,514 INFO L290 TraceCheckUtils]: 34: Hoare triple {22561#(and (= main_~s~0 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22568#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:59:12,514 INFO L290 TraceCheckUtils]: 35: Hoare triple {22568#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !false; {22568#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} is VALID [2022-04-28 05:59:12,514 INFO L290 TraceCheckUtils]: 36: Hoare triple {22568#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 05:59:12,515 INFO L290 TraceCheckUtils]: 37: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !false; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 05:59:12,515 INFO L272 TraceCheckUtils]: 38: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 05:59:12,515 INFO L290 TraceCheckUtils]: 39: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 05:59:12,515 INFO L290 TraceCheckUtils]: 40: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 05:59:12,515 INFO L290 TraceCheckUtils]: 41: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 05:59:12,515 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {22458#true} {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #102#return; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 05:59:12,516 INFO L272 TraceCheckUtils]: 43: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 05:59:12,516 INFO L290 TraceCheckUtils]: 44: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 05:59:12,516 INFO L290 TraceCheckUtils]: 45: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 05:59:12,516 INFO L290 TraceCheckUtils]: 46: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 05:59:12,516 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {22458#true} {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #104#return; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 05:59:12,516 INFO L272 TraceCheckUtils]: 48: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 05:59:12,516 INFO L290 TraceCheckUtils]: 49: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 05:59:12,516 INFO L290 TraceCheckUtils]: 50: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 05:59:12,516 INFO L290 TraceCheckUtils]: 51: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 05:59:12,517 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {22458#true} {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #106#return; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 05:59:12,517 INFO L272 TraceCheckUtils]: 53: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 05:59:12,517 INFO L290 TraceCheckUtils]: 54: Hoare triple {22458#true} ~cond := #in~cond; {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:59:12,517 INFO L290 TraceCheckUtils]: 55: Hoare triple {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:59:12,518 INFO L290 TraceCheckUtils]: 56: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:59:12,518 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} #108#return; {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} is VALID [2022-04-28 05:59:12,518 INFO L290 TraceCheckUtils]: 58: Hoare triple {22575#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {22644#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} is VALID [2022-04-28 05:59:12,519 INFO L290 TraceCheckUtils]: 59: Hoare triple {22644#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} assume !false; {22644#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} is VALID [2022-04-28 05:59:12,519 INFO L272 TraceCheckUtils]: 60: Hoare triple {22644#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 05:59:12,519 INFO L290 TraceCheckUtils]: 61: Hoare triple {22458#true} ~cond := #in~cond; {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:59:12,519 INFO L290 TraceCheckUtils]: 62: Hoare triple {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:59:12,519 INFO L290 TraceCheckUtils]: 63: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:59:12,520 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22644#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 2))} #102#return; {22663#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:59:12,520 INFO L272 TraceCheckUtils]: 65: Hoare triple {22663#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 05:59:12,520 INFO L290 TraceCheckUtils]: 66: Hoare triple {22458#true} ~cond := #in~cond; {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:59:12,521 INFO L290 TraceCheckUtils]: 67: Hoare triple {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:59:12,521 INFO L290 TraceCheckUtils]: 68: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:59:12,521 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22663#(and (= main_~s~0 0) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:59:12,522 INFO L272 TraceCheckUtils]: 70: Hoare triple {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 05:59:12,522 INFO L290 TraceCheckUtils]: 71: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 05:59:12,522 INFO L290 TraceCheckUtils]: 72: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 05:59:12,522 INFO L290 TraceCheckUtils]: 73: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 05:59:12,522 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22458#true} {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:59:12,522 INFO L272 TraceCheckUtils]: 75: Hoare triple {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 05:59:12,522 INFO L290 TraceCheckUtils]: 76: Hoare triple {22458#true} ~cond := #in~cond; {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:59:12,523 INFO L290 TraceCheckUtils]: 77: Hoare triple {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:59:12,523 INFO L290 TraceCheckUtils]: 78: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:59:12,523 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:59:12,524 INFO L290 TraceCheckUtils]: 80: Hoare triple {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 05:59:12,524 INFO L290 TraceCheckUtils]: 81: Hoare triple {22679#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~v~0 (* main_~b~0 2)) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= main_~d~0 2) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} is VALID [2022-04-28 05:59:12,525 INFO L290 TraceCheckUtils]: 82: Hoare triple {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} assume !false; {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} is VALID [2022-04-28 05:59:12,525 INFO L290 TraceCheckUtils]: 83: Hoare triple {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} assume !(~c~0 >= ~b~0); {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} is VALID [2022-04-28 05:59:12,526 INFO L290 TraceCheckUtils]: 84: Hoare triple {22716#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~c~0 (+ (* (- 2) main_~b~0) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~x~0) (= main_~k~0 2))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-28 05:59:12,526 INFO L290 TraceCheckUtils]: 85: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !false; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-28 05:59:12,526 INFO L290 TraceCheckUtils]: 86: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-28 05:59:12,527 INFO L290 TraceCheckUtils]: 87: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !false; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-28 05:59:12,527 INFO L290 TraceCheckUtils]: 88: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-28 05:59:12,528 INFO L290 TraceCheckUtils]: 89: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !false; {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-28 05:59:12,528 INFO L272 TraceCheckUtils]: 90: Hoare triple {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 05:59:12,528 INFO L290 TraceCheckUtils]: 91: Hoare triple {22458#true} ~cond := #in~cond; {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:59:12,528 INFO L290 TraceCheckUtils]: 92: Hoare triple {22630#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:59:12,528 INFO L290 TraceCheckUtils]: 93: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 05:59:12,531 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22726#(and (= main_~r~0 0) (= main_~s~0 (+ (* (- 2) main_~r~0) 1)) (= main_~b~0 (+ main_~y~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~a~0 main_~x~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} #102#return; {22757#(and (= main_~s~0 1) (= (+ main_~b~0 (* (* (div (- main_~q~0) 2) main_~x~0) 2)) main_~y~0) (= (mod main_~q~0 2) 0) (= (* (div (- main_~q~0) 2) main_~x~0) main_~x~0))} is VALID [2022-04-28 05:59:12,533 INFO L272 TraceCheckUtils]: 95: Hoare triple {22757#(and (= main_~s~0 1) (= (+ main_~b~0 (* (* (div (- main_~q~0) 2) main_~x~0) 2)) main_~y~0) (= (mod main_~q~0 2) 0) (= (* (div (- main_~q~0) 2) main_~x~0) main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22761#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 05:59:12,533 INFO L290 TraceCheckUtils]: 96: Hoare triple {22761#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22765#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 05:59:12,534 INFO L290 TraceCheckUtils]: 97: Hoare triple {22765#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22459#false} is VALID [2022-04-28 05:59:12,534 INFO L290 TraceCheckUtils]: 98: Hoare triple {22459#false} assume !false; {22459#false} is VALID [2022-04-28 05:59:12,534 INFO L134 CoverageAnalysis]: Checked inductivity of 217 backedges. 64 proven. 45 refuted. 0 times theorem prover too weak. 108 trivial. 0 not checked. [2022-04-28 05:59:12,534 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:00:40,593 INFO L290 TraceCheckUtils]: 98: Hoare triple {22459#false} assume !false; {22459#false} is VALID [2022-04-28 06:00:40,594 INFO L290 TraceCheckUtils]: 97: Hoare triple {22765#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22459#false} is VALID [2022-04-28 06:00:40,594 INFO L290 TraceCheckUtils]: 96: Hoare triple {22761#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22765#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:00:40,595 INFO L272 TraceCheckUtils]: 95: Hoare triple {22781#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22761#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:00:40,596 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #102#return; {22781#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 06:00:40,596 INFO L290 TraceCheckUtils]: 93: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:00:40,596 INFO L290 TraceCheckUtils]: 92: Hoare triple {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:00:40,597 INFO L290 TraceCheckUtils]: 91: Hoare triple {22458#true} ~cond := #in~cond; {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:00:40,597 INFO L272 TraceCheckUtils]: 90: Hoare triple {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 06:00:40,597 INFO L290 TraceCheckUtils]: 89: Hoare triple {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 06:00:40,598 INFO L290 TraceCheckUtils]: 88: Hoare triple {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 06:00:40,598 INFO L290 TraceCheckUtils]: 87: Hoare triple {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 06:00:40,598 INFO L290 TraceCheckUtils]: 86: Hoare triple {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 06:00:40,599 INFO L290 TraceCheckUtils]: 85: Hoare triple {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 06:00:40,615 INFO L290 TraceCheckUtils]: 84: Hoare triple {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22785#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 06:00:40,616 INFO L290 TraceCheckUtils]: 83: Hoare triple {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= ~b~0); {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:00:40,616 INFO L290 TraceCheckUtils]: 82: Hoare triple {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:00:40,621 INFO L290 TraceCheckUtils]: 81: Hoare triple {22827#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {22817#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:00:40,622 INFO L290 TraceCheckUtils]: 80: Hoare triple {22827#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= 2 * ~v~0); {22827#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:00:40,623 INFO L284 TraceCheckUtils]: 79: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #108#return; {22827#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:00:40,623 INFO L290 TraceCheckUtils]: 78: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:00:40,624 INFO L290 TraceCheckUtils]: 77: Hoare triple {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:00:40,624 INFO L290 TraceCheckUtils]: 76: Hoare triple {22458#true} ~cond := #in~cond; {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:00:40,624 INFO L272 TraceCheckUtils]: 75: Hoare triple {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 06:00:40,625 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {22458#true} {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #106#return; {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 06:00:40,625 INFO L290 TraceCheckUtils]: 73: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 06:00:40,625 INFO L290 TraceCheckUtils]: 72: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 06:00:40,626 INFO L290 TraceCheckUtils]: 71: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 06:00:40,626 INFO L272 TraceCheckUtils]: 70: Hoare triple {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 06:00:40,627 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {22458#true} {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #104#return; {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 06:00:40,627 INFO L290 TraceCheckUtils]: 68: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 06:00:40,627 INFO L290 TraceCheckUtils]: 67: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 06:00:40,627 INFO L290 TraceCheckUtils]: 66: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 06:00:40,627 INFO L272 TraceCheckUtils]: 65: Hoare triple {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 06:00:40,628 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #102#return; {22834#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 06:00:40,629 INFO L290 TraceCheckUtils]: 63: Hoare triple {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:00:40,629 INFO L290 TraceCheckUtils]: 62: Hoare triple {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22634#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:00:40,629 INFO L290 TraceCheckUtils]: 61: Hoare triple {22458#true} ~cond := #in~cond; {22795#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:00:40,629 INFO L272 TraceCheckUtils]: 60: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 06:00:40,630 INFO L290 TraceCheckUtils]: 59: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} assume !false; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 06:00:40,747 INFO L290 TraceCheckUtils]: 58: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 06:00:40,748 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {22458#true} {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #108#return; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 06:00:40,748 INFO L290 TraceCheckUtils]: 56: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 06:00:40,748 INFO L290 TraceCheckUtils]: 55: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 06:00:40,748 INFO L290 TraceCheckUtils]: 54: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 06:00:40,748 INFO L272 TraceCheckUtils]: 53: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 06:00:40,749 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {22458#true} {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #106#return; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 06:00:40,749 INFO L290 TraceCheckUtils]: 51: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 06:00:40,749 INFO L290 TraceCheckUtils]: 50: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 06:00:40,749 INFO L290 TraceCheckUtils]: 49: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 06:00:40,749 INFO L272 TraceCheckUtils]: 48: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 06:00:40,750 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {22458#true} {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #104#return; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 06:00:40,750 INFO L290 TraceCheckUtils]: 46: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 06:00:40,750 INFO L290 TraceCheckUtils]: 45: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 06:00:40,750 INFO L290 TraceCheckUtils]: 44: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 06:00:40,750 INFO L272 TraceCheckUtils]: 43: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 06:00:40,751 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {22458#true} {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} #102#return; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 06:00:40,751 INFO L290 TraceCheckUtils]: 41: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 06:00:40,751 INFO L290 TraceCheckUtils]: 40: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 06:00:40,751 INFO L290 TraceCheckUtils]: 39: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 06:00:40,751 INFO L272 TraceCheckUtils]: 38: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22458#true} is VALID [2022-04-28 06:00:40,751 INFO L290 TraceCheckUtils]: 37: Hoare triple {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} assume !false; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 06:00:40,752 INFO L290 TraceCheckUtils]: 36: Hoare triple {22965#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {22880#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))))} is VALID [2022-04-28 06:00:40,753 INFO L290 TraceCheckUtils]: 35: Hoare triple {22965#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {22965#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:00:40,754 INFO L290 TraceCheckUtils]: 34: Hoare triple {22458#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22965#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:00:40,754 INFO L290 TraceCheckUtils]: 33: Hoare triple {22458#true} assume !false; {22458#true} is VALID [2022-04-28 06:00:40,754 INFO L290 TraceCheckUtils]: 32: Hoare triple {22458#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {22458#true} is VALID [2022-04-28 06:00:40,754 INFO L290 TraceCheckUtils]: 31: Hoare triple {22458#true} assume !(~c~0 >= ~b~0); {22458#true} is VALID [2022-04-28 06:00:40,754 INFO L290 TraceCheckUtils]: 30: Hoare triple {22458#true} assume !false; {22458#true} is VALID [2022-04-28 06:00:40,754 INFO L290 TraceCheckUtils]: 29: Hoare triple {22458#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {22458#true} is VALID [2022-04-28 06:00:40,754 INFO L290 TraceCheckUtils]: 28: Hoare triple {22458#true} assume !false; {22458#true} is VALID [2022-04-28 06:00:40,754 INFO L290 TraceCheckUtils]: 27: Hoare triple {22458#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {22458#true} is VALID [2022-04-28 06:00:40,754 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {22458#true} {22458#true} #100#return; {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L290 TraceCheckUtils]: 25: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L290 TraceCheckUtils]: 24: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L290 TraceCheckUtils]: 23: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L272 TraceCheckUtils]: 22: Hoare triple {22458#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {22458#true} {22458#true} #98#return; {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L290 TraceCheckUtils]: 20: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L290 TraceCheckUtils]: 19: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L290 TraceCheckUtils]: 18: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L272 TraceCheckUtils]: 17: Hoare triple {22458#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {22458#true} {22458#true} #96#return; {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L290 TraceCheckUtils]: 15: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L290 TraceCheckUtils]: 14: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L290 TraceCheckUtils]: 13: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L272 TraceCheckUtils]: 12: Hoare triple {22458#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L290 TraceCheckUtils]: 11: Hoare triple {22458#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22458#true} {22458#true} #94#return; {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L290 TraceCheckUtils]: 9: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 06:00:40,755 INFO L290 TraceCheckUtils]: 8: Hoare triple {22458#true} assume !(0 == ~cond); {22458#true} is VALID [2022-04-28 06:00:40,756 INFO L290 TraceCheckUtils]: 7: Hoare triple {22458#true} ~cond := #in~cond; {22458#true} is VALID [2022-04-28 06:00:40,756 INFO L272 TraceCheckUtils]: 6: Hoare triple {22458#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {22458#true} is VALID [2022-04-28 06:00:40,756 INFO L290 TraceCheckUtils]: 5: Hoare triple {22458#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {22458#true} is VALID [2022-04-28 06:00:40,756 INFO L272 TraceCheckUtils]: 4: Hoare triple {22458#true} call #t~ret6 := main(); {22458#true} is VALID [2022-04-28 06:00:40,756 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22458#true} {22458#true} #112#return; {22458#true} is VALID [2022-04-28 06:00:40,756 INFO L290 TraceCheckUtils]: 2: Hoare triple {22458#true} assume true; {22458#true} is VALID [2022-04-28 06:00:40,756 INFO L290 TraceCheckUtils]: 1: Hoare triple {22458#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {22458#true} is VALID [2022-04-28 06:00:40,756 INFO L272 TraceCheckUtils]: 0: Hoare triple {22458#true} call ULTIMATE.init(); {22458#true} is VALID [2022-04-28 06:00:40,756 INFO L134 CoverageAnalysis]: Checked inductivity of 217 backedges. 80 proven. 19 refuted. 0 times theorem prover too weak. 118 trivial. 0 not checked. [2022-04-28 06:00:40,756 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:00:40,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1987731928] [2022-04-28 06:00:40,757 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:00:40,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1058146805] [2022-04-28 06:00:40,757 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1058146805] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:00:40,757 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:00:40,757 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 13] total 25 [2022-04-28 06:00:40,757 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:00:40,757 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [986028215] [2022-04-28 06:00:40,757 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [986028215] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:00:40,757 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:00:40,757 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 06:00:40,757 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1805442891] [2022-04-28 06:00:40,757 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:00:40,758 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 99 [2022-04-28 06:00:40,758 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:00:40,758 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:00:40,828 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:00:40,828 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 06:00:40,829 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:00:40,829 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 06:00:40,829 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=493, Unknown=0, NotChecked=0, Total=600 [2022-04-28 06:00:40,829 INFO L87 Difference]: Start difference. First operand 316 states and 437 transitions. Second operand has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:00:46,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:00:46,060 INFO L93 Difference]: Finished difference Result 386 states and 525 transitions. [2022-04-28 06:00:46,060 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 06:00:46,060 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 99 [2022-04-28 06:00:46,060 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:00:46,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:00:46,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 173 transitions. [2022-04-28 06:00:46,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:00:46,072 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 173 transitions. [2022-04-28 06:00:46,072 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 173 transitions. [2022-04-28 06:00:46,368 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 173 edges. 173 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:00:46,376 INFO L225 Difference]: With dead ends: 386 [2022-04-28 06:00:46,376 INFO L226 Difference]: Without dead ends: 384 [2022-04-28 06:00:46,376 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 202 GetRequests, 169 SyntacticMatches, 5 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 194 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=152, Invalid=718, Unknown=0, NotChecked=0, Total=870 [2022-04-28 06:00:46,377 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 69 mSDsluCounter, 380 mSDsCounter, 0 mSdLazyCounter, 1209 mSolverCounterSat, 74 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 87 SdHoareTripleChecker+Valid, 440 SdHoareTripleChecker+Invalid, 1283 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 74 IncrementalHoareTripleChecker+Valid, 1209 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.9s IncrementalHoareTripleChecker+Time [2022-04-28 06:00:46,377 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [87 Valid, 440 Invalid, 1283 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [74 Valid, 1209 Invalid, 0 Unknown, 0 Unchecked, 1.9s Time] [2022-04-28 06:00:46,377 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 384 states. [2022-04-28 06:00:47,551 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 384 to 320. [2022-04-28 06:00:47,551 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:00:47,562 INFO L82 GeneralOperation]: Start isEquivalent. First operand 384 states. Second operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-28 06:00:47,565 INFO L74 IsIncluded]: Start isIncluded. First operand 384 states. Second operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-28 06:00:47,566 INFO L87 Difference]: Start difference. First operand 384 states. Second operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-28 06:00:47,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:00:47,589 INFO L93 Difference]: Finished difference Result 384 states and 523 transitions. [2022-04-28 06:00:47,589 INFO L276 IsEmpty]: Start isEmpty. Operand 384 states and 523 transitions. [2022-04-28 06:00:47,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:00:47,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:00:47,591 INFO L74 IsIncluded]: Start isIncluded. First operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) Second operand 384 states. [2022-04-28 06:00:47,592 INFO L87 Difference]: Start difference. First operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) Second operand 384 states. [2022-04-28 06:00:47,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:00:47,599 INFO L93 Difference]: Finished difference Result 384 states and 523 transitions. [2022-04-28 06:00:47,599 INFO L276 IsEmpty]: Start isEmpty. Operand 384 states and 523 transitions. [2022-04-28 06:00:47,600 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:00:47,600 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:00:47,600 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:00:47,600 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:00:47,600 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 320 states, 184 states have (on average 1.1956521739130435) internal successors, (220), 185 states have internal predecessors, (220), 111 states have call successors, (111), 25 states have call predecessors, (111), 24 states have return successors, (109), 109 states have call predecessors, (109), 109 states have call successors, (109) [2022-04-28 06:00:47,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 320 states to 320 states and 440 transitions. [2022-04-28 06:00:47,628 INFO L78 Accepts]: Start accepts. Automaton has 320 states and 440 transitions. Word has length 99 [2022-04-28 06:00:47,628 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:00:47,628 INFO L495 AbstractCegarLoop]: Abstraction has 320 states and 440 transitions. [2022-04-28 06:00:47,628 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 2.6) internal successors, (39), 14 states have internal predecessors, (39), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:00:47,628 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 320 states and 440 transitions. [2022-04-28 06:00:48,806 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 440 edges. 440 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:00:48,806 INFO L276 IsEmpty]: Start isEmpty. Operand 320 states and 440 transitions. [2022-04-28 06:00:48,807 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 103 [2022-04-28 06:00:48,807 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:00:48,807 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:00:48,855 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Ended with exit code 0 [2022-04-28 06:00:49,007 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-28 06:00:49,007 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:00:49,008 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:00:49,008 INFO L85 PathProgramCache]: Analyzing trace with hash -100199667, now seen corresponding path program 7 times [2022-04-28 06:00:49,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:00:49,008 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [822320113] [2022-04-28 06:00:49,008 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:00:49,008 INFO L85 PathProgramCache]: Analyzing trace with hash -100199667, now seen corresponding path program 8 times [2022-04-28 06:00:49,008 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:00:49,008 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [308287755] [2022-04-28 06:00:49,008 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:00:49,008 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:00:49,019 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:00:49,019 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1644053391] [2022-04-28 06:00:49,019 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:00:49,019 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:00:49,019 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:00:49,029 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:00:49,031 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-28 06:00:49,085 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:00:49,085 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:00:49,086 INFO L263 TraceCheckSpWp]: Trace formula consists of 266 conjuncts, 82 conjunts are in the unsatisfiable core [2022-04-28 06:00:49,110 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:00:49,112 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:01:41,872 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:01:50,703 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:01:57,661 INFO L272 TraceCheckUtils]: 0: Hoare triple {25266#true} call ULTIMATE.init(); {25266#true} is VALID [2022-04-28 06:01:57,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {25266#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {25266#true} is VALID [2022-04-28 06:01:57,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25266#true} {25266#true} #112#return; {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L272 TraceCheckUtils]: 4: Hoare triple {25266#true} call #t~ret6 := main(); {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L290 TraceCheckUtils]: 5: Hoare triple {25266#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L272 TraceCheckUtils]: 6: Hoare triple {25266#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L290 TraceCheckUtils]: 7: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L290 TraceCheckUtils]: 8: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L290 TraceCheckUtils]: 9: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25266#true} {25266#true} #94#return; {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L290 TraceCheckUtils]: 11: Hoare triple {25266#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L272 TraceCheckUtils]: 12: Hoare triple {25266#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L290 TraceCheckUtils]: 13: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L290 TraceCheckUtils]: 14: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L290 TraceCheckUtils]: 15: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {25266#true} {25266#true} #96#return; {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L272 TraceCheckUtils]: 17: Hoare triple {25266#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L290 TraceCheckUtils]: 18: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L290 TraceCheckUtils]: 19: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:01:57,662 INFO L290 TraceCheckUtils]: 20: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:01:57,663 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25266#true} {25266#true} #98#return; {25266#true} is VALID [2022-04-28 06:01:57,663 INFO L272 TraceCheckUtils]: 22: Hoare triple {25266#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:01:57,663 INFO L290 TraceCheckUtils]: 23: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:01:57,663 INFO L290 TraceCheckUtils]: 24: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:01:57,663 INFO L290 TraceCheckUtils]: 25: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:01:57,663 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {25266#true} {25266#true} #100#return; {25266#true} is VALID [2022-04-28 06:01:57,663 INFO L290 TraceCheckUtils]: 27: Hoare triple {25266#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25352#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 06:01:57,664 INFO L290 TraceCheckUtils]: 28: Hoare triple {25352#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {25352#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 06:01:57,664 INFO L290 TraceCheckUtils]: 29: Hoare triple {25352#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25359#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 06:01:57,664 INFO L290 TraceCheckUtils]: 30: Hoare triple {25359#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {25359#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 06:01:57,665 INFO L290 TraceCheckUtils]: 31: Hoare triple {25359#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 06:01:57,665 INFO L290 TraceCheckUtils]: 32: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !false; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 06:01:57,665 INFO L272 TraceCheckUtils]: 33: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:01:57,665 INFO L290 TraceCheckUtils]: 34: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:01:57,665 INFO L290 TraceCheckUtils]: 35: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:01:57,665 INFO L290 TraceCheckUtils]: 36: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:01:57,667 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25266#true} {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #102#return; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 06:01:57,667 INFO L272 TraceCheckUtils]: 38: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:01:57,667 INFO L290 TraceCheckUtils]: 39: Hoare triple {25266#true} ~cond := #in~cond; {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:01:57,669 INFO L290 TraceCheckUtils]: 40: Hoare triple {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:01:57,669 INFO L290 TraceCheckUtils]: 41: Hoare triple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:01:57,669 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #104#return; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 06:01:57,669 INFO L272 TraceCheckUtils]: 43: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:01:57,669 INFO L290 TraceCheckUtils]: 44: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:01:57,669 INFO L290 TraceCheckUtils]: 45: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:01:57,669 INFO L290 TraceCheckUtils]: 46: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:01:57,670 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {25266#true} {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #106#return; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 06:01:57,670 INFO L272 TraceCheckUtils]: 48: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:01:57,670 INFO L290 TraceCheckUtils]: 49: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:01:57,670 INFO L290 TraceCheckUtils]: 50: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:01:57,670 INFO L290 TraceCheckUtils]: 51: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:01:57,670 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {25266#true} {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #108#return; {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 06:01:57,671 INFO L290 TraceCheckUtils]: 53: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} assume !(~c~0 >= 2 * ~v~0); {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 06:01:57,671 INFO L290 TraceCheckUtils]: 54: Hoare triple {25366#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 06:01:57,672 INFO L290 TraceCheckUtils]: 55: Hoare triple {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 06:01:57,672 INFO L290 TraceCheckUtils]: 56: Hoare triple {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 06:01:57,672 INFO L290 TraceCheckUtils]: 57: Hoare triple {25438#(and (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 main_~b~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25448#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-28 06:01:57,673 INFO L290 TraceCheckUtils]: 58: Hoare triple {25448#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !false; {25448#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-28 06:01:57,673 INFO L290 TraceCheckUtils]: 59: Hoare triple {25448#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25455#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-28 06:01:57,673 INFO L290 TraceCheckUtils]: 60: Hoare triple {25455#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !false; {25455#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-28 06:01:57,673 INFO L290 TraceCheckUtils]: 61: Hoare triple {25455#(and (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25462#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-28 06:01:57,674 INFO L290 TraceCheckUtils]: 62: Hoare triple {25462#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)))} assume !false; {25462#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)))} is VALID [2022-04-28 06:01:57,674 INFO L272 TraceCheckUtils]: 63: Hoare triple {25462#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:01:57,674 INFO L290 TraceCheckUtils]: 64: Hoare triple {25266#true} ~cond := #in~cond; {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:01:57,674 INFO L290 TraceCheckUtils]: 65: Hoare triple {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:01:57,675 INFO L290 TraceCheckUtils]: 66: Hoare triple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:01:57,675 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} {25462#(and (= main_~b~0 main_~v~0) (= main_~c~0 main_~a~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)))} #102#return; {25481#(and (= main_~b~0 main_~v~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 06:01:57,675 INFO L272 TraceCheckUtils]: 68: Hoare triple {25481#(and (= main_~b~0 main_~v~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:01:57,675 INFO L290 TraceCheckUtils]: 69: Hoare triple {25266#true} ~cond := #in~cond; {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:01:57,676 INFO L290 TraceCheckUtils]: 70: Hoare triple {25391#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:01:57,676 INFO L290 TraceCheckUtils]: 71: Hoare triple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:01:57,677 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} {25481#(and (= main_~b~0 main_~v~0) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #104#return; {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 06:01:57,677 INFO L272 TraceCheckUtils]: 73: Hoare triple {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:01:57,677 INFO L290 TraceCheckUtils]: 74: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:01:57,677 INFO L290 TraceCheckUtils]: 75: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:01:57,677 INFO L290 TraceCheckUtils]: 76: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:01:57,677 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {25266#true} {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #106#return; {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 06:01:57,677 INFO L272 TraceCheckUtils]: 78: Hoare triple {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:01:57,677 INFO L290 TraceCheckUtils]: 79: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:01:57,678 INFO L290 TraceCheckUtils]: 80: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:01:57,678 INFO L290 TraceCheckUtils]: 81: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:01:57,678 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {25266#true} {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #108#return; {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 06:01:57,679 INFO L290 TraceCheckUtils]: 83: Hoare triple {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= 2 * ~v~0); {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 06:01:57,679 INFO L290 TraceCheckUtils]: 84: Hoare triple {25497#(and (= main_~b~0 main_~v~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~k~0 0) (= main_~r~0 1) (= main_~d~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 06:01:57,680 INFO L290 TraceCheckUtils]: 85: Hoare triple {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !false; {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 06:01:57,680 INFO L290 TraceCheckUtils]: 86: Hoare triple {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} assume !(~c~0 >= ~b~0); {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 06:01:59,682 WARN L290 TraceCheckUtils]: 87: Hoare triple {25534#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (= main_~r~0 1) (= main_~k~0 1) (= main_~x~0 (+ main_~b~0 main_~y~0)) (= main_~c~0 (+ (* main_~y~0 main_~r~0) (* (- 1) main_~b~0) (* main_~p~0 main_~x~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25544#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (or (and (= (+ (* (- 1) main_~a~0) main_~y~0 (* main_~x~0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0)))) main_~b~0) (= (mod (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0) 0) (= 0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0))) (not (= main_~x~0 0))) (and (= main_~x~0 0) (= (+ main_~b~0 main_~a~0) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) 0))))} is UNKNOWN [2022-04-28 06:01:59,683 INFO L290 TraceCheckUtils]: 88: Hoare triple {25544#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (or (and (= (+ (* (- 1) main_~a~0) main_~y~0 (* main_~x~0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0)))) main_~b~0) (= (mod (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0) 0) (= 0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0))) (not (= main_~x~0 0))) (and (= main_~x~0 0) (= (+ main_~b~0 main_~a~0) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) 0))))} assume !false; {25544#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (or (and (= (+ (* (- 1) main_~a~0) main_~y~0 (* main_~x~0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0)))) main_~b~0) (= (mod (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0) 0) (= 0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0))) (not (= main_~x~0 0))) (and (= main_~x~0 0) (= (+ main_~b~0 main_~a~0) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) 0))))} is VALID [2022-04-28 06:01:59,701 INFO L290 TraceCheckUtils]: 89: Hoare triple {25544#(and (= (+ main_~a~0 main_~y~0) main_~x~0) (or (and (= (+ (* (- 1) main_~a~0) main_~y~0 (* main_~x~0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0)))) main_~b~0) (= (mod (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0) 0) (= 0 (+ main_~q~0 (div (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) main_~x~0))) (not (= main_~x~0 0))) (and (= main_~x~0 0) (= (+ main_~b~0 main_~a~0) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~a~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1))) 0))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} is VALID [2022-04-28 06:01:59,702 INFO L290 TraceCheckUtils]: 90: Hoare triple {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} assume !false; {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} is VALID [2022-04-28 06:01:59,703 INFO L290 TraceCheckUtils]: 91: Hoare triple {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} is VALID [2022-04-28 06:01:59,704 INFO L290 TraceCheckUtils]: 92: Hoare triple {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} assume !false; {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} is VALID [2022-04-28 06:01:59,704 INFO L272 TraceCheckUtils]: 93: Hoare triple {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:01:59,704 INFO L290 TraceCheckUtils]: 94: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:01:59,704 INFO L290 TraceCheckUtils]: 95: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:01:59,704 INFO L290 TraceCheckUtils]: 96: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:01:59,704 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {25266#true} {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} #102#return; {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} is VALID [2022-04-28 06:01:59,706 INFO L272 TraceCheckUtils]: 98: Hoare triple {25551#(or (and (= main_~x~0 0) (= (+ main_~b~0 main_~x~0 (* (- 1) main_~y~0)) (+ (* main_~q~0 main_~x~0) main_~y~0)) (= (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) 0)) (and (= (mod (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0) 0) (= (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) 0) (= (+ (* (- 1) main_~x~0) (* main_~y~0 2) (* (+ main_~q~0 (div (+ main_~x~0 (* (- 1) main_~y~0 (+ (* (- 1) main_~s~0) 1)) (* (- 1) main_~y~0)) main_~x~0)) main_~x~0)) main_~b~0) (not (= main_~x~0 0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25579#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:01:59,706 INFO L290 TraceCheckUtils]: 99: Hoare triple {25579#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25583#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:01:59,707 INFO L290 TraceCheckUtils]: 100: Hoare triple {25583#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25267#false} is VALID [2022-04-28 06:01:59,707 INFO L290 TraceCheckUtils]: 101: Hoare triple {25267#false} assume !false; {25267#false} is VALID [2022-04-28 06:01:59,707 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 36 proven. 76 refuted. 0 times theorem prover too weak. 114 trivial. 0 not checked. [2022-04-28 06:01:59,707 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:02:47,549 INFO L290 TraceCheckUtils]: 101: Hoare triple {25267#false} assume !false; {25267#false} is VALID [2022-04-28 06:02:47,550 INFO L290 TraceCheckUtils]: 100: Hoare triple {25583#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25267#false} is VALID [2022-04-28 06:02:47,550 INFO L290 TraceCheckUtils]: 99: Hoare triple {25579#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25583#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:02:47,550 INFO L272 TraceCheckUtils]: 98: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25579#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:02:47,551 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {25266#true} {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #102#return; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 06:02:47,551 INFO L290 TraceCheckUtils]: 96: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:02:47,551 INFO L290 TraceCheckUtils]: 95: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:02:47,551 INFO L290 TraceCheckUtils]: 94: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:02:47,551 INFO L272 TraceCheckUtils]: 93: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:02:47,552 INFO L290 TraceCheckUtils]: 92: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 06:02:47,552 INFO L290 TraceCheckUtils]: 91: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 06:02:47,552 INFO L290 TraceCheckUtils]: 90: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 06:02:47,553 INFO L290 TraceCheckUtils]: 89: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 06:02:47,553 INFO L290 TraceCheckUtils]: 88: Hoare triple {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 06:02:49,555 WARN L290 TraceCheckUtils]: 87: Hoare triple {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25599#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-28 06:02:49,557 INFO L290 TraceCheckUtils]: 86: Hoare triple {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !(~c~0 >= ~b~0); {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-28 06:02:49,557 INFO L290 TraceCheckUtils]: 85: Hoare triple {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} assume !false; {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-28 06:02:50,027 INFO L290 TraceCheckUtils]: 84: Hoare triple {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {25633#(= (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)) (+ (* main_~k~0 main_~y~0 main_~s~0) main_~c~0 (* main_~q~0 main_~k~0 main_~x~0)))} is VALID [2022-04-28 06:02:50,027 INFO L290 TraceCheckUtils]: 83: Hoare triple {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~c~0 >= 2 * ~v~0); {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 06:02:50,028 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {25266#true} {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #108#return; {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 06:02:50,028 INFO L290 TraceCheckUtils]: 81: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:02:50,028 INFO L290 TraceCheckUtils]: 80: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:02:50,028 INFO L290 TraceCheckUtils]: 79: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:02:50,028 INFO L272 TraceCheckUtils]: 78: Hoare triple {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:02:50,029 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {25266#true} {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #106#return; {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 06:02:50,029 INFO L290 TraceCheckUtils]: 76: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:02:50,029 INFO L290 TraceCheckUtils]: 75: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:02:50,029 INFO L290 TraceCheckUtils]: 74: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:02:50,029 INFO L272 TraceCheckUtils]: 73: Hoare triple {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:02:50,030 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} {25680#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {25643#(= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 06:02:50,030 INFO L290 TraceCheckUtils]: 71: Hoare triple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:02:50,031 INFO L290 TraceCheckUtils]: 70: Hoare triple {25690#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:02:50,031 INFO L290 TraceCheckUtils]: 69: Hoare triple {25266#true} ~cond := #in~cond; {25690#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:02:50,031 INFO L272 TraceCheckUtils]: 68: Hoare triple {25680#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:02:50,032 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} {25697#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {25680#(or (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:02:50,032 INFO L290 TraceCheckUtils]: 66: Hoare triple {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:02:50,033 INFO L290 TraceCheckUtils]: 65: Hoare triple {25690#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {25395#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:02:50,033 INFO L290 TraceCheckUtils]: 64: Hoare triple {25266#true} ~cond := #in~cond; {25690#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:02:50,033 INFO L272 TraceCheckUtils]: 63: Hoare triple {25697#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:02:50,034 INFO L290 TraceCheckUtils]: 62: Hoare triple {25697#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {25697#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:02:50,034 INFO L290 TraceCheckUtils]: 61: Hoare triple {25716#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25697#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ main_~c~0 (* (- 1) main_~v~0) (* main_~y~0 main_~s~0 (+ main_~d~0 main_~k~0)) (* main_~q~0 main_~x~0 (+ main_~d~0 main_~k~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:02:50,035 INFO L290 TraceCheckUtils]: 60: Hoare triple {25716#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {25716#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 06:02:50,036 INFO L290 TraceCheckUtils]: 59: Hoare triple {25266#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25716#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~k~0 1) main_~q~0 main_~x~0) (* (+ main_~k~0 1) main_~y~0 main_~s~0) main_~c~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 06:02:50,036 INFO L290 TraceCheckUtils]: 58: Hoare triple {25266#true} assume !false; {25266#true} is VALID [2022-04-28 06:02:50,036 INFO L290 TraceCheckUtils]: 57: Hoare triple {25266#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {25266#true} is VALID [2022-04-28 06:02:50,036 INFO L290 TraceCheckUtils]: 56: Hoare triple {25266#true} assume !(~c~0 >= ~b~0); {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L290 TraceCheckUtils]: 55: Hoare triple {25266#true} assume !false; {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L290 TraceCheckUtils]: 54: Hoare triple {25266#true} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L290 TraceCheckUtils]: 53: Hoare triple {25266#true} assume !(~c~0 >= 2 * ~v~0); {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {25266#true} {25266#true} #108#return; {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L290 TraceCheckUtils]: 51: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L290 TraceCheckUtils]: 50: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L290 TraceCheckUtils]: 49: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L272 TraceCheckUtils]: 48: Hoare triple {25266#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {25266#true} {25266#true} #106#return; {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L290 TraceCheckUtils]: 46: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L290 TraceCheckUtils]: 45: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L290 TraceCheckUtils]: 44: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L272 TraceCheckUtils]: 43: Hoare triple {25266#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {25266#true} {25266#true} #104#return; {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L290 TraceCheckUtils]: 41: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L290 TraceCheckUtils]: 40: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L290 TraceCheckUtils]: 39: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:02:50,037 INFO L272 TraceCheckUtils]: 38: Hoare triple {25266#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25266#true} {25266#true} #102#return; {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L290 TraceCheckUtils]: 36: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L290 TraceCheckUtils]: 35: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L290 TraceCheckUtils]: 34: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L272 TraceCheckUtils]: 33: Hoare triple {25266#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L290 TraceCheckUtils]: 32: Hoare triple {25266#true} assume !false; {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L290 TraceCheckUtils]: 31: Hoare triple {25266#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L290 TraceCheckUtils]: 30: Hoare triple {25266#true} assume !false; {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L290 TraceCheckUtils]: 29: Hoare triple {25266#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L290 TraceCheckUtils]: 28: Hoare triple {25266#true} assume !false; {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L290 TraceCheckUtils]: 27: Hoare triple {25266#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {25266#true} {25266#true} #100#return; {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L290 TraceCheckUtils]: 25: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L290 TraceCheckUtils]: 24: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L290 TraceCheckUtils]: 23: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L272 TraceCheckUtils]: 22: Hoare triple {25266#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25266#true} {25266#true} #98#return; {25266#true} is VALID [2022-04-28 06:02:50,038 INFO L290 TraceCheckUtils]: 20: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L290 TraceCheckUtils]: 19: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L290 TraceCheckUtils]: 18: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L272 TraceCheckUtils]: 17: Hoare triple {25266#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {25266#true} {25266#true} #96#return; {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L290 TraceCheckUtils]: 15: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L290 TraceCheckUtils]: 14: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L290 TraceCheckUtils]: 13: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L272 TraceCheckUtils]: 12: Hoare triple {25266#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L290 TraceCheckUtils]: 11: Hoare triple {25266#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25266#true} {25266#true} #94#return; {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L290 TraceCheckUtils]: 9: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L290 TraceCheckUtils]: 8: Hoare triple {25266#true} assume !(0 == ~cond); {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L290 TraceCheckUtils]: 7: Hoare triple {25266#true} ~cond := #in~cond; {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L272 TraceCheckUtils]: 6: Hoare triple {25266#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L290 TraceCheckUtils]: 5: Hoare triple {25266#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L272 TraceCheckUtils]: 4: Hoare triple {25266#true} call #t~ret6 := main(); {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25266#true} {25266#true} #112#return; {25266#true} is VALID [2022-04-28 06:02:50,039 INFO L290 TraceCheckUtils]: 2: Hoare triple {25266#true} assume true; {25266#true} is VALID [2022-04-28 06:02:50,040 INFO L290 TraceCheckUtils]: 1: Hoare triple {25266#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {25266#true} is VALID [2022-04-28 06:02:50,040 INFO L272 TraceCheckUtils]: 0: Hoare triple {25266#true} call ULTIMATE.init(); {25266#true} is VALID [2022-04-28 06:02:50,040 INFO L134 CoverageAnalysis]: Checked inductivity of 226 backedges. 69 proven. 27 refuted. 0 times theorem prover too weak. 130 trivial. 0 not checked. [2022-04-28 06:02:50,040 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:02:50,040 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [308287755] [2022-04-28 06:02:50,040 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:02:50,040 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1644053391] [2022-04-28 06:02:50,040 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1644053391] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:02:50,040 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:02:50,040 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 12] total 25 [2022-04-28 06:02:50,041 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:02:50,044 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [822320113] [2022-04-28 06:02:50,044 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [822320113] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:02:50,044 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:02:50,044 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 06:02:50,045 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1306274287] [2022-04-28 06:02:50,045 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:02:50,045 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 102 [2022-04-28 06:02:50,045 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:02:50,045 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:02:52,120 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 71 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:02:52,121 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 06:02:52,121 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:02:52,121 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 06:02:52,121 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=513, Unknown=0, NotChecked=0, Total=600 [2022-04-28 06:02:52,121 INFO L87 Difference]: Start difference. First operand 320 states and 440 transitions. Second operand has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:02:57,983 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-28 06:03:03,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:03:03,168 INFO L93 Difference]: Finished difference Result 430 states and 587 transitions. [2022-04-28 06:03:03,168 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 06:03:03,168 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 102 [2022-04-28 06:03:03,168 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:03:03,168 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:03:03,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 163 transitions. [2022-04-28 06:03:03,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:03:03,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 163 transitions. [2022-04-28 06:03:03,172 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 163 transitions. [2022-04-28 06:03:05,359 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 163 edges. 162 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:03:05,369 INFO L225 Difference]: With dead ends: 430 [2022-04-28 06:03:05,369 INFO L226 Difference]: Without dead ends: 428 [2022-04-28 06:03:05,369 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 210 GetRequests, 179 SyntacticMatches, 1 SemanticMatches, 30 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 162 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=139, Invalid=853, Unknown=0, NotChecked=0, Total=992 [2022-04-28 06:03:05,370 INFO L413 NwaCegarLoop]: 51 mSDtfsCounter, 71 mSDsluCounter, 381 mSDsCounter, 0 mSdLazyCounter, 994 mSolverCounterSat, 57 mSolverCounterUnsat, 1 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 89 SdHoareTripleChecker+Valid, 432 SdHoareTripleChecker+Invalid, 1052 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 57 IncrementalHoareTripleChecker+Valid, 994 IncrementalHoareTripleChecker+Invalid, 1 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.0s IncrementalHoareTripleChecker+Time [2022-04-28 06:03:05,370 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [89 Valid, 432 Invalid, 1052 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [57 Valid, 994 Invalid, 1 Unknown, 0 Unchecked, 5.0s Time] [2022-04-28 06:03:05,370 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 428 states. [2022-04-28 06:03:06,888 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 428 to 410. [2022-04-28 06:03:06,889 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:03:06,892 INFO L82 GeneralOperation]: Start isEquivalent. First operand 428 states. Second operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-28 06:03:06,893 INFO L74 IsIncluded]: Start isIncluded. First operand 428 states. Second operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-28 06:03:06,894 INFO L87 Difference]: Start difference. First operand 428 states. Second operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-28 06:03:06,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:03:06,906 INFO L93 Difference]: Finished difference Result 428 states and 585 transitions. [2022-04-28 06:03:06,906 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 585 transitions. [2022-04-28 06:03:06,915 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:03:06,915 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:03:06,916 INFO L74 IsIncluded]: Start isIncluded. First operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) Second operand 428 states. [2022-04-28 06:03:06,916 INFO L87 Difference]: Start difference. First operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) Second operand 428 states. [2022-04-28 06:03:06,925 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:03:06,925 INFO L93 Difference]: Finished difference Result 428 states and 585 transitions. [2022-04-28 06:03:06,925 INFO L276 IsEmpty]: Start isEmpty. Operand 428 states and 585 transitions. [2022-04-28 06:03:06,926 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:03:06,926 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:03:06,926 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:03:06,926 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:03:06,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 410 states, 237 states have (on average 1.1940928270042195) internal successors, (283), 238 states have internal predecessors, (283), 143 states have call successors, (143), 30 states have call predecessors, (143), 29 states have return successors, (141), 141 states have call predecessors, (141), 141 states have call successors, (141) [2022-04-28 06:03:06,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 410 states to 410 states and 567 transitions. [2022-04-28 06:03:06,945 INFO L78 Accepts]: Start accepts. Automaton has 410 states and 567 transitions. Word has length 102 [2022-04-28 06:03:06,945 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:03:06,945 INFO L495 AbstractCegarLoop]: Abstraction has 410 states and 567 transitions. [2022-04-28 06:03:06,945 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 17 states have (on average 2.4705882352941178) internal successors, (42), 16 states have internal predecessors, (42), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:03:06,945 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 410 states and 567 transitions. [2022-04-28 06:03:10,795 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 567 edges. 566 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-28 06:03:10,795 INFO L276 IsEmpty]: Start isEmpty. Operand 410 states and 567 transitions. [2022-04-28 06:03:10,797 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 109 [2022-04-28 06:03:10,797 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:03:10,797 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:03:10,834 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-28 06:03:10,997 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-28 06:03:10,998 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:03:10,998 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:03:10,998 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 5 times [2022-04-28 06:03:10,998 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:03:10,998 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2018067279] [2022-04-28 06:03:10,999 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:03:10,999 INFO L85 PathProgramCache]: Analyzing trace with hash -1948981098, now seen corresponding path program 6 times [2022-04-28 06:03:10,999 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:03:10,999 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1514528112] [2022-04-28 06:03:10,999 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:03:10,999 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:03:11,010 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:03:11,010 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2049271072] [2022-04-28 06:03:11,010 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 06:03:11,010 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:03:11,010 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:03:11,031 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:03:11,063 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-28 06:03:11,149 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 06:03:11,149 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:03:11,164 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-28 06:03:11,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:03:11,184 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:03:42,001 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:03:50,431 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:03:50,563 INFO L272 TraceCheckUtils]: 0: Hoare triple {28452#true} call ULTIMATE.init(); {28452#true} is VALID [2022-04-28 06:03:50,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {28452#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {28452#true} is VALID [2022-04-28 06:03:50,563 INFO L290 TraceCheckUtils]: 2: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,563 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {28452#true} {28452#true} #112#return; {28452#true} is VALID [2022-04-28 06:03:50,563 INFO L272 TraceCheckUtils]: 4: Hoare triple {28452#true} call #t~ret6 := main(); {28452#true} is VALID [2022-04-28 06:03:50,563 INFO L290 TraceCheckUtils]: 5: Hoare triple {28452#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {28452#true} is VALID [2022-04-28 06:03:50,563 INFO L272 TraceCheckUtils]: 6: Hoare triple {28452#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L290 TraceCheckUtils]: 7: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L290 TraceCheckUtils]: 8: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L290 TraceCheckUtils]: 9: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {28452#true} {28452#true} #94#return; {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L290 TraceCheckUtils]: 11: Hoare triple {28452#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L272 TraceCheckUtils]: 12: Hoare triple {28452#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L290 TraceCheckUtils]: 13: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L290 TraceCheckUtils]: 14: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L290 TraceCheckUtils]: 15: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {28452#true} {28452#true} #96#return; {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L272 TraceCheckUtils]: 17: Hoare triple {28452#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L290 TraceCheckUtils]: 18: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L290 TraceCheckUtils]: 19: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L290 TraceCheckUtils]: 20: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {28452#true} {28452#true} #98#return; {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L272 TraceCheckUtils]: 22: Hoare triple {28452#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L290 TraceCheckUtils]: 23: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-28 06:03:50,564 INFO L290 TraceCheckUtils]: 24: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-28 06:03:50,565 INFO L290 TraceCheckUtils]: 25: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,565 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {28452#true} {28452#true} #100#return; {28452#true} is VALID [2022-04-28 06:03:50,568 INFO L290 TraceCheckUtils]: 27: Hoare triple {28452#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {28538#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,568 INFO L290 TraceCheckUtils]: 28: Hoare triple {28538#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {28538#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,568 INFO L290 TraceCheckUtils]: 29: Hoare triple {28538#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,569 INFO L290 TraceCheckUtils]: 30: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,569 INFO L290 TraceCheckUtils]: 31: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,569 INFO L290 TraceCheckUtils]: 32: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,570 INFO L272 TraceCheckUtils]: 33: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,570 INFO L290 TraceCheckUtils]: 34: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-28 06:03:50,570 INFO L290 TraceCheckUtils]: 35: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-28 06:03:50,570 INFO L290 TraceCheckUtils]: 36: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,570 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,570 INFO L272 TraceCheckUtils]: 38: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,571 INFO L290 TraceCheckUtils]: 39: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-28 06:03:50,571 INFO L290 TraceCheckUtils]: 40: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-28 06:03:50,571 INFO L290 TraceCheckUtils]: 41: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,571 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,571 INFO L272 TraceCheckUtils]: 43: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,571 INFO L290 TraceCheckUtils]: 44: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-28 06:03:50,571 INFO L290 TraceCheckUtils]: 45: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-28 06:03:50,572 INFO L290 TraceCheckUtils]: 46: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,572 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,572 INFO L272 TraceCheckUtils]: 48: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,572 INFO L290 TraceCheckUtils]: 49: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-28 06:03:50,572 INFO L290 TraceCheckUtils]: 50: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-28 06:03:50,572 INFO L290 TraceCheckUtils]: 51: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,573 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,574 INFO L290 TraceCheckUtils]: 53: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,587 INFO L290 TraceCheckUtils]: 54: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,588 INFO L272 TraceCheckUtils]: 55: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,588 INFO L290 TraceCheckUtils]: 56: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-28 06:03:50,588 INFO L290 TraceCheckUtils]: 57: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-28 06:03:50,588 INFO L290 TraceCheckUtils]: 58: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,588 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,589 INFO L272 TraceCheckUtils]: 60: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,589 INFO L290 TraceCheckUtils]: 61: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-28 06:03:50,589 INFO L290 TraceCheckUtils]: 62: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-28 06:03:50,589 INFO L290 TraceCheckUtils]: 63: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,589 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,589 INFO L272 TraceCheckUtils]: 65: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,589 INFO L290 TraceCheckUtils]: 66: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-28 06:03:50,590 INFO L290 TraceCheckUtils]: 67: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-28 06:03:50,590 INFO L290 TraceCheckUtils]: 68: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,590 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,590 INFO L272 TraceCheckUtils]: 70: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,590 INFO L290 TraceCheckUtils]: 71: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-28 06:03:50,590 INFO L290 TraceCheckUtils]: 72: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-28 06:03:50,590 INFO L290 TraceCheckUtils]: 73: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,591 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,592 INFO L290 TraceCheckUtils]: 75: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,592 INFO L290 TraceCheckUtils]: 76: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,592 INFO L272 TraceCheckUtils]: 77: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,592 INFO L290 TraceCheckUtils]: 78: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-28 06:03:50,592 INFO L290 TraceCheckUtils]: 79: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-28 06:03:50,592 INFO L290 TraceCheckUtils]: 80: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,593 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #102#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,593 INFO L272 TraceCheckUtils]: 82: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,593 INFO L290 TraceCheckUtils]: 83: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-28 06:03:50,593 INFO L290 TraceCheckUtils]: 84: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-28 06:03:50,593 INFO L290 TraceCheckUtils]: 85: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,594 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,594 INFO L272 TraceCheckUtils]: 87: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,594 INFO L290 TraceCheckUtils]: 88: Hoare triple {28452#true} ~cond := #in~cond; {28452#true} is VALID [2022-04-28 06:03:50,594 INFO L290 TraceCheckUtils]: 89: Hoare triple {28452#true} assume !(0 == ~cond); {28452#true} is VALID [2022-04-28 06:03:50,594 INFO L290 TraceCheckUtils]: 90: Hoare triple {28452#true} assume true; {28452#true} is VALID [2022-04-28 06:03:50,595 INFO L284 TraceCheckUtils]: 91: Hoare quadruple {28452#true} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,595 INFO L272 TraceCheckUtils]: 92: Hoare triple {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {28452#true} is VALID [2022-04-28 06:03:50,595 INFO L290 TraceCheckUtils]: 93: Hoare triple {28452#true} ~cond := #in~cond; {28738#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:03:50,595 INFO L290 TraceCheckUtils]: 94: Hoare triple {28738#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {28742#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:03:50,596 INFO L290 TraceCheckUtils]: 95: Hoare triple {28742#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {28742#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:03:50,596 INFO L284 TraceCheckUtils]: 96: Hoare quadruple {28742#(not (= |__VERIFIER_assert_#in~cond| 0))} {28545#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {28749#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,597 INFO L290 TraceCheckUtils]: 97: Hoare triple {28749#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {28749#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,599 INFO L290 TraceCheckUtils]: 98: Hoare triple {28749#(and (= main_~v~0 (* main_~d~0 main_~b~0)) (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,600 INFO L290 TraceCheckUtils]: 99: Hoare triple {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,600 INFO L290 TraceCheckUtils]: 100: Hoare triple {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:03:50,602 INFO L290 TraceCheckUtils]: 101: Hoare triple {28756#(and (= main_~r~0 0) (= (+ (* (- 1) main_~c~0) main_~x~0) (* main_~b~0 main_~k~0)) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {28766#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~x~0 (+ main_~b~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0)))))} is VALID [2022-04-28 06:03:50,603 INFO L290 TraceCheckUtils]: 102: Hoare triple {28766#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~x~0 (+ main_~b~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0)))))} assume !false; {28766#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~x~0 (+ main_~b~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0)))))} is VALID [2022-04-28 06:03:50,603 INFO L290 TraceCheckUtils]: 103: Hoare triple {28766#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~x~0 (+ main_~b~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0)))))} assume !(0 != ~b~0); {28773#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0))) (= main_~q~0 1))} is VALID [2022-04-28 06:03:50,604 INFO L272 TraceCheckUtils]: 104: Hoare triple {28773#(and (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~x~0 (* main_~a~0 (div (* (- 1) main_~s~0) main_~r~0))) (= main_~q~0 1))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {28777#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:03:50,604 INFO L290 TraceCheckUtils]: 105: Hoare triple {28777#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {28781#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:03:50,604 INFO L290 TraceCheckUtils]: 106: Hoare triple {28781#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {28453#false} is VALID [2022-04-28 06:03:50,604 INFO L290 TraceCheckUtils]: 107: Hoare triple {28453#false} assume !false; {28453#false} is VALID [2022-04-28 06:03:50,605 INFO L134 CoverageAnalysis]: Checked inductivity of 334 backedges. 58 proven. 5 refuted. 0 times theorem prover too weak. 271 trivial. 0 not checked. [2022-04-28 06:03:50,605 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:04:07,185 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 06:04:07,485 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:04:07,485 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1514528112] [2022-04-28 06:04:07,485 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:04:07,485 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2049271072] [2022-04-28 06:04:07,485 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2049271072] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 06:04:07,485 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 06:04:07,485 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12] total 12 [2022-04-28 06:04:07,485 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:04:07,486 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2018067279] [2022-04-28 06:04:07,486 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2018067279] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:04:07,486 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:04:07,486 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 06:04:07,486 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1555740658] [2022-04-28 06:04:07,486 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:04:07,486 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) Word has length 108 [2022-04-28 06:04:07,487 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:04:07,487 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 06:04:07,538 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:04:07,538 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 06:04:07,538 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:04:07,538 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 06:04:07,538 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=224, Unknown=0, NotChecked=0, Total=272 [2022-04-28 06:04:07,539 INFO L87 Difference]: Start difference. First operand 410 states and 567 transitions. Second operand has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 06:04:10,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:04:10,611 INFO L93 Difference]: Finished difference Result 484 states and 662 transitions. [2022-04-28 06:04:10,611 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 06:04:10,611 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) Word has length 108 [2022-04-28 06:04:10,612 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:04:10,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 06:04:10,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-04-28 06:04:10,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 06:04:10,613 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 114 transitions. [2022-04-28 06:04:10,614 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 114 transitions. [2022-04-28 06:04:10,748 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 114 edges. 114 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:04:10,760 INFO L225 Difference]: With dead ends: 484 [2022-04-28 06:04:10,760 INFO L226 Difference]: Without dead ends: 481 [2022-04-28 06:04:10,760 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 125 GetRequests, 103 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=93, Invalid=413, Unknown=0, NotChecked=0, Total=506 [2022-04-28 06:04:10,760 INFO L413 NwaCegarLoop]: 41 mSDtfsCounter, 46 mSDsluCounter, 194 mSDsCounter, 0 mSdLazyCounter, 382 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 235 SdHoareTripleChecker+Invalid, 432 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 382 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 06:04:10,761 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [53 Valid, 235 Invalid, 432 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 382 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 06:04:10,762 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 481 states. [2022-04-28 06:04:12,130 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 481 to 404. [2022-04-28 06:04:12,131 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:04:12,131 INFO L82 GeneralOperation]: Start isEquivalent. First operand 481 states. Second operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-28 06:04:12,132 INFO L74 IsIncluded]: Start isIncluded. First operand 481 states. Second operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-28 06:04:12,132 INFO L87 Difference]: Start difference. First operand 481 states. Second operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-28 06:04:12,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:04:12,147 INFO L93 Difference]: Finished difference Result 481 states and 658 transitions. [2022-04-28 06:04:12,147 INFO L276 IsEmpty]: Start isEmpty. Operand 481 states and 658 transitions. [2022-04-28 06:04:12,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:04:12,149 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:04:12,149 INFO L74 IsIncluded]: Start isIncluded. First operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) Second operand 481 states. [2022-04-28 06:04:12,150 INFO L87 Difference]: Start difference. First operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) Second operand 481 states. [2022-04-28 06:04:12,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:04:12,160 INFO L93 Difference]: Finished difference Result 481 states and 658 transitions. [2022-04-28 06:04:12,160 INFO L276 IsEmpty]: Start isEmpty. Operand 481 states and 658 transitions. [2022-04-28 06:04:12,161 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:04:12,161 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:04:12,161 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:04:12,161 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:04:12,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 404 states, 238 states have (on average 1.180672268907563) internal successors, (281), 240 states have internal predecessors, (281), 134 states have call successors, (134), 32 states have call predecessors, (134), 31 states have return successors, (132), 131 states have call predecessors, (132), 132 states have call successors, (132) [2022-04-28 06:04:12,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 404 states to 404 states and 547 transitions. [2022-04-28 06:04:12,175 INFO L78 Accepts]: Start accepts. Automaton has 404 states and 547 transitions. Word has length 108 [2022-04-28 06:04:12,176 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:04:12,176 INFO L495 AbstractCegarLoop]: Abstraction has 404 states and 547 transitions. [2022-04-28 06:04:12,176 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 2.727272727272727) internal successors, (30), 11 states have internal predecessors, (30), 3 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (10), 3 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 06:04:12,176 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 404 states and 547 transitions. [2022-04-28 06:04:13,916 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 547 edges. 547 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:04:13,916 INFO L276 IsEmpty]: Start isEmpty. Operand 404 states and 547 transitions. [2022-04-28 06:04:13,917 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-28 06:04:13,917 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:04:13,917 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 6, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:04:13,934 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-28 06:04:14,133 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:04:14,134 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:04:14,134 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:04:14,134 INFO L85 PathProgramCache]: Analyzing trace with hash 826422219, now seen corresponding path program 9 times [2022-04-28 06:04:14,134 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:04:14,134 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1350117923] [2022-04-28 06:04:14,134 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:04:14,134 INFO L85 PathProgramCache]: Analyzing trace with hash 826422219, now seen corresponding path program 10 times [2022-04-28 06:04:14,135 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:04:14,135 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1326116119] [2022-04-28 06:04:14,135 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:04:14,135 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:04:14,177 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:04:14,177 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1547621555] [2022-04-28 06:04:14,177 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:04:14,177 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:04:14,177 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:04:14,178 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:04:14,179 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-28 06:04:14,247 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:04:14,247 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:04:14,249 INFO L263 TraceCheckSpWp]: Trace formula consists of 249 conjuncts, 99 conjunts are in the unsatisfiable core [2022-04-28 06:04:14,269 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:04:14,271 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:04:17,099 INFO L272 TraceCheckUtils]: 0: Hoare triple {31578#true} call ULTIMATE.init(); {31578#true} is VALID [2022-04-28 06:04:17,100 INFO L290 TraceCheckUtils]: 1: Hoare triple {31578#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {31578#true} is VALID [2022-04-28 06:04:17,100 INFO L290 TraceCheckUtils]: 2: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:04:17,100 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31578#true} {31578#true} #112#return; {31578#true} is VALID [2022-04-28 06:04:17,100 INFO L272 TraceCheckUtils]: 4: Hoare triple {31578#true} call #t~ret6 := main(); {31578#true} is VALID [2022-04-28 06:04:17,100 INFO L290 TraceCheckUtils]: 5: Hoare triple {31578#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {31578#true} is VALID [2022-04-28 06:04:17,100 INFO L272 TraceCheckUtils]: 6: Hoare triple {31578#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:04:17,100 INFO L290 TraceCheckUtils]: 7: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:04:17,100 INFO L290 TraceCheckUtils]: 8: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:04:17,100 INFO L290 TraceCheckUtils]: 9: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:04:17,100 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31578#true} {31578#true} #94#return; {31578#true} is VALID [2022-04-28 06:04:17,100 INFO L290 TraceCheckUtils]: 11: Hoare triple {31578#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {31578#true} is VALID [2022-04-28 06:04:17,100 INFO L272 TraceCheckUtils]: 12: Hoare triple {31578#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:04:17,100 INFO L290 TraceCheckUtils]: 13: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:04:17,100 INFO L290 TraceCheckUtils]: 14: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:04:17,100 INFO L290 TraceCheckUtils]: 15: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:04:17,101 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {31578#true} {31578#true} #96#return; {31578#true} is VALID [2022-04-28 06:04:17,101 INFO L272 TraceCheckUtils]: 17: Hoare triple {31578#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:04:17,101 INFO L290 TraceCheckUtils]: 18: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:04:17,101 INFO L290 TraceCheckUtils]: 19: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:04:17,101 INFO L290 TraceCheckUtils]: 20: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:04:17,101 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31578#true} {31578#true} #98#return; {31578#true} is VALID [2022-04-28 06:04:17,101 INFO L272 TraceCheckUtils]: 22: Hoare triple {31578#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:04:17,101 INFO L290 TraceCheckUtils]: 23: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:04:17,101 INFO L290 TraceCheckUtils]: 24: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:04:17,101 INFO L290 TraceCheckUtils]: 25: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:04:17,101 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {31578#true} {31578#true} #100#return; {31578#true} is VALID [2022-04-28 06:04:17,101 INFO L290 TraceCheckUtils]: 27: Hoare triple {31578#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {31664#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,102 INFO L290 TraceCheckUtils]: 28: Hoare triple {31664#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {31664#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,102 INFO L290 TraceCheckUtils]: 29: Hoare triple {31664#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,103 INFO L290 TraceCheckUtils]: 30: Hoare triple {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !false; {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,103 INFO L290 TraceCheckUtils]: 31: Hoare triple {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,103 INFO L290 TraceCheckUtils]: 32: Hoare triple {31671#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31681#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 06:04:17,104 INFO L290 TraceCheckUtils]: 33: Hoare triple {31681#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {31681#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 06:04:17,104 INFO L290 TraceCheckUtils]: 34: Hoare triple {31681#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 06:04:17,104 INFO L290 TraceCheckUtils]: 35: Hoare triple {31688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {31688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 06:04:17,105 INFO L290 TraceCheckUtils]: 36: Hoare triple {31688#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-28 06:04:17,105 INFO L290 TraceCheckUtils]: 37: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} assume !false; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-28 06:04:17,105 INFO L272 TraceCheckUtils]: 38: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:04:17,105 INFO L290 TraceCheckUtils]: 39: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:04:17,105 INFO L290 TraceCheckUtils]: 40: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:04:17,105 INFO L290 TraceCheckUtils]: 41: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:04:17,106 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {31578#true} {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #102#return; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-28 06:04:17,106 INFO L272 TraceCheckUtils]: 43: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:04:17,106 INFO L290 TraceCheckUtils]: 44: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:04:17,106 INFO L290 TraceCheckUtils]: 45: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:04:17,106 INFO L290 TraceCheckUtils]: 46: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:04:17,107 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {31578#true} {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #104#return; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-28 06:04:17,107 INFO L272 TraceCheckUtils]: 48: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:04:17,107 INFO L290 TraceCheckUtils]: 49: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:04:17,107 INFO L290 TraceCheckUtils]: 50: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:04:17,107 INFO L290 TraceCheckUtils]: 51: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:04:17,108 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {31578#true} {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #106#return; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-28 06:04:17,108 INFO L272 TraceCheckUtils]: 53: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:04:17,108 INFO L290 TraceCheckUtils]: 54: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:04:17,108 INFO L290 TraceCheckUtils]: 55: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:04:17,108 INFO L290 TraceCheckUtils]: 56: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:04:17,109 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {31578#true} {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} #108#return; {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} is VALID [2022-04-28 06:04:17,109 INFO L290 TraceCheckUtils]: 58: Hoare triple {31695#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (= main_~q~0 1))} assume !(~c~0 >= 2 * ~v~0); {31762#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~q~0 1))} is VALID [2022-04-28 06:04:17,110 INFO L290 TraceCheckUtils]: 59: Hoare triple {31762#(and (= main_~b~0 main_~v~0) (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~k~0 0) (= main_~c~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~d~0 1) (not (<= (* main_~v~0 2) main_~c~0)) (= main_~q~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 06:04:17,111 INFO L290 TraceCheckUtils]: 60: Hoare triple {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !false; {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 06:04:17,111 INFO L290 TraceCheckUtils]: 61: Hoare triple {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !(~c~0 >= ~b~0); {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 06:04:17,112 INFO L290 TraceCheckUtils]: 62: Hoare triple {31766#(and (= main_~s~0 0) (<= main_~r~0 1) (= main_~p~0 0) (= main_~b~0 main_~x~0) (= main_~k~0 1) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 1) (= main_~y~0 (+ main_~c~0 main_~b~0)))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31776#(and (= main_~r~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,113 INFO L290 TraceCheckUtils]: 63: Hoare triple {31776#(and (= main_~r~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {31776#(and (= main_~r~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,113 INFO L290 TraceCheckUtils]: 64: Hoare triple {31776#(and (= main_~r~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,114 INFO L290 TraceCheckUtils]: 65: Hoare triple {31783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {31783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,114 INFO L290 TraceCheckUtils]: 66: Hoare triple {31783#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31790#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~d~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,115 INFO L290 TraceCheckUtils]: 67: Hoare triple {31790#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~d~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {31790#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~d~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,115 INFO L272 TraceCheckUtils]: 68: Hoare triple {31790#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~d~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:04:17,115 INFO L290 TraceCheckUtils]: 69: Hoare triple {31578#true} ~cond := #in~cond; {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:04:17,116 INFO L290 TraceCheckUtils]: 70: Hoare triple {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:04:17,116 INFO L290 TraceCheckUtils]: 71: Hoare triple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:04:17,117 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} {31790#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (<= (* main_~x~0 2) main_~y~0)) (= main_~d~0 1) (= main_~b~0 (+ main_~y~0 (* (- 1) main_~x~0))) (<= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #102#return; {31811#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,117 INFO L272 TraceCheckUtils]: 73: Hoare triple {31811#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:04:17,117 INFO L290 TraceCheckUtils]: 74: Hoare triple {31578#true} ~cond := #in~cond; {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:04:17,117 INFO L290 TraceCheckUtils]: 75: Hoare triple {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:04:17,118 INFO L290 TraceCheckUtils]: 76: Hoare triple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:04:17,119 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} {31811#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #104#return; {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,119 INFO L272 TraceCheckUtils]: 78: Hoare triple {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:04:17,119 INFO L290 TraceCheckUtils]: 79: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:04:17,119 INFO L290 TraceCheckUtils]: 80: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:04:17,119 INFO L290 TraceCheckUtils]: 81: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:04:17,120 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {31578#true} {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #106#return; {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,120 INFO L272 TraceCheckUtils]: 83: Hoare triple {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:04:17,120 INFO L290 TraceCheckUtils]: 84: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:04:17,120 INFO L290 TraceCheckUtils]: 85: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:04:17,120 INFO L290 TraceCheckUtils]: 86: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:04:17,121 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {31578#true} {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} #108#return; {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,121 INFO L290 TraceCheckUtils]: 88: Hoare triple {31827#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (<= (+ main_~s~0 main_~r~0) 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {31861#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (< main_~c~0 (* main_~v~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,122 INFO L290 TraceCheckUtils]: 89: Hoare triple {31861#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (< main_~c~0 (* main_~v~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~k~0 0) (= main_~d~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,122 INFO L290 TraceCheckUtils]: 90: Hoare triple {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !false; {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,123 INFO L290 TraceCheckUtils]: 91: Hoare triple {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-28 06:04:17,124 INFO L290 TraceCheckUtils]: 92: Hoare triple {31865#(and (< main_~x~0 (* main_~b~0 2)) (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~x~0)) (< main_~y~0 (* main_~x~0 2)) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= main_~k~0 1) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-28 06:04:17,125 INFO L290 TraceCheckUtils]: 93: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} assume !false; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-28 06:04:17,125 INFO L290 TraceCheckUtils]: 94: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-28 06:04:17,126 INFO L290 TraceCheckUtils]: 95: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} assume !false; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-28 06:04:17,126 INFO L290 TraceCheckUtils]: 96: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-28 06:04:17,127 INFO L290 TraceCheckUtils]: 97: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} assume !false; {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} is VALID [2022-04-28 06:04:17,127 INFO L272 TraceCheckUtils]: 98: Hoare triple {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:04:17,127 INFO L290 TraceCheckUtils]: 99: Hoare triple {31578#true} ~cond := #in~cond; {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:04:17,128 INFO L290 TraceCheckUtils]: 100: Hoare triple {31800#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:04:17,128 INFO L290 TraceCheckUtils]: 101: Hoare triple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:04:17,130 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} {31875#(and (= (+ main_~s~0 main_~r~0) 0) (< main_~y~0 (* main_~x~0 2)) (= main_~a~0 (+ main_~y~0 (* (- 1) main_~x~0))) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (* (- 1) main_~p~0) 1) (= (+ main_~q~0 main_~p~0) (* (- 1) main_~p~0)))} #102#return; {31906#(and (< main_~y~0 (* main_~x~0 2)) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ (- 1) main_~q~0) 1) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 1) main_~x~0))))} is VALID [2022-04-28 06:04:17,131 INFO L272 TraceCheckUtils]: 103: Hoare triple {31906#(and (< main_~y~0 (* main_~x~0 2)) (< (* main_~x~0 3) (* main_~y~0 2)) (= (+ (- 1) main_~q~0) 1) (= main_~b~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ main_~y~0 (* (- 1) main_~x~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 1) main_~x~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31910#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:04:17,131 INFO L290 TraceCheckUtils]: 104: Hoare triple {31910#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {31914#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:04:17,131 INFO L290 TraceCheckUtils]: 105: Hoare triple {31914#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31579#false} is VALID [2022-04-28 06:04:17,131 INFO L290 TraceCheckUtils]: 106: Hoare triple {31579#false} assume !false; {31579#false} is VALID [2022-04-28 06:04:17,132 INFO L134 CoverageAnalysis]: Checked inductivity of 244 backedges. 57 proven. 73 refuted. 0 times theorem prover too weak. 114 trivial. 0 not checked. [2022-04-28 06:04:17,132 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:05:00,628 INFO L290 TraceCheckUtils]: 106: Hoare triple {31579#false} assume !false; {31579#false} is VALID [2022-04-28 06:05:00,629 INFO L290 TraceCheckUtils]: 105: Hoare triple {31914#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31579#false} is VALID [2022-04-28 06:05:00,629 INFO L290 TraceCheckUtils]: 104: Hoare triple {31910#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {31914#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:05:00,630 INFO L272 TraceCheckUtils]: 103: Hoare triple {31930#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31910#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:05:00,630 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #102#return; {31930#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 06:05:00,631 INFO L290 TraceCheckUtils]: 101: Hoare triple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:00,631 INFO L290 TraceCheckUtils]: 100: Hoare triple {31944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:00,631 INFO L290 TraceCheckUtils]: 99: Hoare triple {31578#true} ~cond := #in~cond; {31944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:05:00,631 INFO L272 TraceCheckUtils]: 98: Hoare triple {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:05:00,632 INFO L290 TraceCheckUtils]: 97: Hoare triple {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 06:05:00,632 INFO L290 TraceCheckUtils]: 96: Hoare triple {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 06:05:00,633 INFO L290 TraceCheckUtils]: 95: Hoare triple {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 06:05:00,633 INFO L290 TraceCheckUtils]: 94: Hoare triple {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 06:05:00,633 INFO L290 TraceCheckUtils]: 93: Hoare triple {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 06:05:00,650 INFO L290 TraceCheckUtils]: 92: Hoare triple {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31934#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-28 06:05:00,651 INFO L290 TraceCheckUtils]: 91: Hoare triple {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= ~b~0); {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:00,651 INFO L290 TraceCheckUtils]: 90: Hoare triple {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:00,656 INFO L290 TraceCheckUtils]: 89: Hoare triple {31976#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {31966#(or (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:00,656 INFO L290 TraceCheckUtils]: 88: Hoare triple {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !(~c~0 >= 2 * ~v~0); {31976#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:00,657 INFO L284 TraceCheckUtils]: 87: Hoare quadruple {31578#true} {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #108#return; {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:00,657 INFO L290 TraceCheckUtils]: 86: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:05:00,657 INFO L290 TraceCheckUtils]: 85: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:05:00,657 INFO L290 TraceCheckUtils]: 84: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:05:00,657 INFO L272 TraceCheckUtils]: 83: Hoare triple {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:05:00,658 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {31578#true} {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #106#return; {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:00,658 INFO L290 TraceCheckUtils]: 81: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:05:00,658 INFO L290 TraceCheckUtils]: 80: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:05:00,658 INFO L290 TraceCheckUtils]: 79: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:05:00,658 INFO L272 TraceCheckUtils]: 78: Hoare triple {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:05:00,659 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {31578#true} {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #104#return; {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:00,659 INFO L290 TraceCheckUtils]: 76: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:05:00,659 INFO L290 TraceCheckUtils]: 75: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:05:00,659 INFO L290 TraceCheckUtils]: 74: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:05:00,659 INFO L272 TraceCheckUtils]: 73: Hoare triple {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:05:00,660 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} {32029#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #102#return; {31980#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:00,661 INFO L290 TraceCheckUtils]: 71: Hoare triple {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:00,661 INFO L290 TraceCheckUtils]: 70: Hoare triple {31944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {31804#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:00,661 INFO L290 TraceCheckUtils]: 69: Hoare triple {31578#true} ~cond := #in~cond; {31944#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:05:00,661 INFO L272 TraceCheckUtils]: 68: Hoare triple {32029#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:05:00,662 INFO L290 TraceCheckUtils]: 67: Hoare triple {32029#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {32029#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:00,662 INFO L290 TraceCheckUtils]: 66: Hoare triple {32048#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {32029#(or (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0))) (<= (* main_~v~0 2) main_~c~0) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:00,663 INFO L290 TraceCheckUtils]: 65: Hoare triple {32048#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {32048#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:00,665 INFO L290 TraceCheckUtils]: 64: Hoare triple {31578#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {32048#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ main_~c~0 (* (- 1) main_~b~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:00,665 INFO L290 TraceCheckUtils]: 63: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-28 06:05:00,665 INFO L290 TraceCheckUtils]: 62: Hoare triple {31578#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31578#true} is VALID [2022-04-28 06:05:00,665 INFO L290 TraceCheckUtils]: 61: Hoare triple {31578#true} assume !(~c~0 >= ~b~0); {31578#true} is VALID [2022-04-28 06:05:00,665 INFO L290 TraceCheckUtils]: 60: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-28 06:05:00,665 INFO L290 TraceCheckUtils]: 59: Hoare triple {31578#true} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {31578#true} is VALID [2022-04-28 06:05:00,665 INFO L290 TraceCheckUtils]: 58: Hoare triple {31578#true} assume !(~c~0 >= 2 * ~v~0); {31578#true} is VALID [2022-04-28 06:05:00,665 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {31578#true} {31578#true} #108#return; {31578#true} is VALID [2022-04-28 06:05:00,665 INFO L290 TraceCheckUtils]: 56: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:05:00,665 INFO L290 TraceCheckUtils]: 55: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:05:00,665 INFO L290 TraceCheckUtils]: 54: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:05:00,665 INFO L272 TraceCheckUtils]: 53: Hoare triple {31578#true} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:05:00,665 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {31578#true} {31578#true} #106#return; {31578#true} is VALID [2022-04-28 06:05:00,665 INFO L290 TraceCheckUtils]: 51: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L290 TraceCheckUtils]: 50: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L290 TraceCheckUtils]: 49: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L272 TraceCheckUtils]: 48: Hoare triple {31578#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {31578#true} {31578#true} #104#return; {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L290 TraceCheckUtils]: 46: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L290 TraceCheckUtils]: 45: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L290 TraceCheckUtils]: 44: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L272 TraceCheckUtils]: 43: Hoare triple {31578#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {31578#true} {31578#true} #102#return; {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L290 TraceCheckUtils]: 41: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L290 TraceCheckUtils]: 40: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L290 TraceCheckUtils]: 39: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L272 TraceCheckUtils]: 38: Hoare triple {31578#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L290 TraceCheckUtils]: 37: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L290 TraceCheckUtils]: 36: Hoare triple {31578#true} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L290 TraceCheckUtils]: 35: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L290 TraceCheckUtils]: 34: Hoare triple {31578#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31578#true} is VALID [2022-04-28 06:05:00,666 INFO L290 TraceCheckUtils]: 33: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L290 TraceCheckUtils]: 32: Hoare triple {31578#true} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L290 TraceCheckUtils]: 31: Hoare triple {31578#true} assume !(~c~0 >= ~b~0); {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L290 TraceCheckUtils]: 30: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L290 TraceCheckUtils]: 29: Hoare triple {31578#true} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L290 TraceCheckUtils]: 28: Hoare triple {31578#true} assume !false; {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L290 TraceCheckUtils]: 27: Hoare triple {31578#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {31578#true} {31578#true} #100#return; {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L290 TraceCheckUtils]: 25: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L290 TraceCheckUtils]: 24: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L290 TraceCheckUtils]: 23: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L272 TraceCheckUtils]: 22: Hoare triple {31578#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {31578#true} {31578#true} #98#return; {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L290 TraceCheckUtils]: 20: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L290 TraceCheckUtils]: 19: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L290 TraceCheckUtils]: 18: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L272 TraceCheckUtils]: 17: Hoare triple {31578#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {31578#true} {31578#true} #96#return; {31578#true} is VALID [2022-04-28 06:05:00,667 INFO L290 TraceCheckUtils]: 15: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:05:00,668 INFO L290 TraceCheckUtils]: 14: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:05:00,668 INFO L290 TraceCheckUtils]: 13: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:05:00,668 INFO L272 TraceCheckUtils]: 12: Hoare triple {31578#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:05:00,668 INFO L290 TraceCheckUtils]: 11: Hoare triple {31578#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {31578#true} is VALID [2022-04-28 06:05:00,668 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31578#true} {31578#true} #94#return; {31578#true} is VALID [2022-04-28 06:05:00,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:05:00,668 INFO L290 TraceCheckUtils]: 8: Hoare triple {31578#true} assume !(0 == ~cond); {31578#true} is VALID [2022-04-28 06:05:00,668 INFO L290 TraceCheckUtils]: 7: Hoare triple {31578#true} ~cond := #in~cond; {31578#true} is VALID [2022-04-28 06:05:00,668 INFO L272 TraceCheckUtils]: 6: Hoare triple {31578#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {31578#true} is VALID [2022-04-28 06:05:00,668 INFO L290 TraceCheckUtils]: 5: Hoare triple {31578#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {31578#true} is VALID [2022-04-28 06:05:00,668 INFO L272 TraceCheckUtils]: 4: Hoare triple {31578#true} call #t~ret6 := main(); {31578#true} is VALID [2022-04-28 06:05:00,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31578#true} {31578#true} #112#return; {31578#true} is VALID [2022-04-28 06:05:00,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {31578#true} assume true; {31578#true} is VALID [2022-04-28 06:05:00,668 INFO L290 TraceCheckUtils]: 1: Hoare triple {31578#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {31578#true} is VALID [2022-04-28 06:05:00,668 INFO L272 TraceCheckUtils]: 0: Hoare triple {31578#true} call ULTIMATE.init(); {31578#true} is VALID [2022-04-28 06:05:00,669 INFO L134 CoverageAnalysis]: Checked inductivity of 244 backedges. 87 proven. 18 refuted. 0 times theorem prover too weak. 139 trivial. 0 not checked. [2022-04-28 06:05:00,669 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:05:00,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1326116119] [2022-04-28 06:05:00,669 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:05:00,669 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1547621555] [2022-04-28 06:05:00,669 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1547621555] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:05:00,669 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:05:00,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [22, 13] total 30 [2022-04-28 06:05:00,670 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:05:00,670 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1350117923] [2022-04-28 06:05:00,670 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1350117923] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:05:00,670 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:05:00,670 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [22] imperfect sequences [] total 22 [2022-04-28 06:05:00,670 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [193899730] [2022-04-28 06:05:00,670 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:05:00,687 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 107 [2022-04-28 06:05:00,687 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:05:00,687 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:05:00,815 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:05:00,815 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-04-28 06:05:00,815 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:05:00,816 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-04-28 06:05:00,816 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=127, Invalid=743, Unknown=0, NotChecked=0, Total=870 [2022-04-28 06:05:00,816 INFO L87 Difference]: Start difference. First operand 404 states and 547 transitions. Second operand has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:05:10,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:05:10,535 INFO L93 Difference]: Finished difference Result 515 states and 695 transitions. [2022-04-28 06:05:10,535 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 06:05:10,536 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) Word has length 107 [2022-04-28 06:05:10,536 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:05:10,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:05:10,548 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 195 transitions. [2022-04-28 06:05:10,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:05:10,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 195 transitions. [2022-04-28 06:05:10,550 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 195 transitions. [2022-04-28 06:05:10,844 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 195 edges. 195 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:05:10,856 INFO L225 Difference]: With dead ends: 515 [2022-04-28 06:05:10,856 INFO L226 Difference]: Without dead ends: 513 [2022-04-28 06:05:10,857 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 223 GetRequests, 183 SyntacticMatches, 2 SemanticMatches, 38 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 292 ImplicationChecksByTransitivity, 1.8s TimeCoverageRelationStatistics Valid=222, Invalid=1338, Unknown=0, NotChecked=0, Total=1560 [2022-04-28 06:05:10,859 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 81 mSDsluCounter, 525 mSDsCounter, 0 mSdLazyCounter, 1642 mSolverCounterSat, 73 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 103 SdHoareTripleChecker+Valid, 581 SdHoareTripleChecker+Invalid, 1715 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 73 IncrementalHoareTripleChecker+Valid, 1642 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.9s IncrementalHoareTripleChecker+Time [2022-04-28 06:05:10,859 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [103 Valid, 581 Invalid, 1715 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [73 Valid, 1642 Invalid, 0 Unknown, 0 Unchecked, 2.9s Time] [2022-04-28 06:05:10,863 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 513 states. [2022-04-28 06:05:12,739 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 513 to 491. [2022-04-28 06:05:12,739 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:05:12,741 INFO L82 GeneralOperation]: Start isEquivalent. First operand 513 states. Second operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) [2022-04-28 06:05:12,743 INFO L74 IsIncluded]: Start isIncluded. First operand 513 states. Second operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) [2022-04-28 06:05:12,743 INFO L87 Difference]: Start difference. First operand 513 states. Second operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) [2022-04-28 06:05:12,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:05:12,760 INFO L93 Difference]: Finished difference Result 513 states and 693 transitions. [2022-04-28 06:05:12,761 INFO L276 IsEmpty]: Start isEmpty. Operand 513 states and 693 transitions. [2022-04-28 06:05:12,761 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:05:12,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:05:12,762 INFO L74 IsIncluded]: Start isIncluded. First operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) Second operand 513 states. [2022-04-28 06:05:12,762 INFO L87 Difference]: Start difference. First operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) Second operand 513 states. [2022-04-28 06:05:12,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:05:12,798 INFO L93 Difference]: Finished difference Result 513 states and 693 transitions. [2022-04-28 06:05:12,798 INFO L276 IsEmpty]: Start isEmpty. Operand 513 states and 693 transitions. [2022-04-28 06:05:12,799 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:05:12,799 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:05:12,799 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:05:12,799 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:05:12,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 491 states, 288 states have (on average 1.1840277777777777) internal successors, (341), 290 states have internal predecessors, (341), 166 states have call successors, (166), 37 states have call predecessors, (166), 36 states have return successors, (164), 163 states have call predecessors, (164), 164 states have call successors, (164) [2022-04-28 06:05:12,820 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 491 states to 491 states and 671 transitions. [2022-04-28 06:05:12,821 INFO L78 Accepts]: Start accepts. Automaton has 491 states and 671 transitions. Word has length 107 [2022-04-28 06:05:12,821 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:05:12,821 INFO L495 AbstractCegarLoop]: Abstraction has 491 states and 671 transitions. [2022-04-28 06:05:12,821 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 20 states have (on average 2.35) internal successors, (47), 18 states have internal predecessors, (47), 7 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-28 06:05:12,821 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 491 states and 671 transitions. [2022-04-28 06:05:14,923 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 671 edges. 671 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:05:14,924 INFO L276 IsEmpty]: Start isEmpty. Operand 491 states and 671 transitions. [2022-04-28 06:05:14,924 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 112 [2022-04-28 06:05:14,924 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:05:14,924 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:05:14,945 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-28 06:05:15,125 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:05:15,125 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:05:15,125 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:05:15,125 INFO L85 PathProgramCache]: Analyzing trace with hash 1002671399, now seen corresponding path program 7 times [2022-04-28 06:05:15,125 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:05:15,126 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [378125566] [2022-04-28 06:05:15,126 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:05:15,126 INFO L85 PathProgramCache]: Analyzing trace with hash 1002671399, now seen corresponding path program 8 times [2022-04-28 06:05:15,126 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:05:15,126 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1879942998] [2022-04-28 06:05:15,126 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:05:15,126 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:05:15,160 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:05:15,160 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [387900651] [2022-04-28 06:05:15,160 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 06:05:15,160 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:05:15,160 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:05:15,164 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:05:15,172 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-28 06:05:15,248 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 06:05:15,248 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:05:15,249 INFO L263 TraceCheckSpWp]: Trace formula consists of 267 conjuncts, 74 conjunts are in the unsatisfiable core [2022-04-28 06:05:15,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:05:15,275 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:05:16,594 INFO L272 TraceCheckUtils]: 0: Hoare triple {35307#true} call ULTIMATE.init(); {35307#true} is VALID [2022-04-28 06:05:16,595 INFO L290 TraceCheckUtils]: 1: Hoare triple {35307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {35307#true} is VALID [2022-04-28 06:05:16,595 INFO L290 TraceCheckUtils]: 2: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:16,595 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35307#true} {35307#true} #112#return; {35307#true} is VALID [2022-04-28 06:05:16,595 INFO L272 TraceCheckUtils]: 4: Hoare triple {35307#true} call #t~ret6 := main(); {35307#true} is VALID [2022-04-28 06:05:16,595 INFO L290 TraceCheckUtils]: 5: Hoare triple {35307#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {35307#true} is VALID [2022-04-28 06:05:16,595 INFO L272 TraceCheckUtils]: 6: Hoare triple {35307#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,595 INFO L290 TraceCheckUtils]: 7: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:16,595 INFO L290 TraceCheckUtils]: 8: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:16,595 INFO L290 TraceCheckUtils]: 9: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:16,595 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35307#true} {35307#true} #94#return; {35307#true} is VALID [2022-04-28 06:05:16,595 INFO L290 TraceCheckUtils]: 11: Hoare triple {35307#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35307#true} is VALID [2022-04-28 06:05:16,595 INFO L272 TraceCheckUtils]: 12: Hoare triple {35307#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,595 INFO L290 TraceCheckUtils]: 13: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:16,595 INFO L290 TraceCheckUtils]: 14: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:16,595 INFO L290 TraceCheckUtils]: 15: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:16,596 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {35307#true} {35307#true} #96#return; {35307#true} is VALID [2022-04-28 06:05:16,596 INFO L272 TraceCheckUtils]: 17: Hoare triple {35307#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,596 INFO L290 TraceCheckUtils]: 18: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:16,596 INFO L290 TraceCheckUtils]: 19: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:16,596 INFO L290 TraceCheckUtils]: 20: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:16,596 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {35307#true} {35307#true} #98#return; {35307#true} is VALID [2022-04-28 06:05:16,596 INFO L272 TraceCheckUtils]: 22: Hoare triple {35307#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,596 INFO L290 TraceCheckUtils]: 23: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:16,596 INFO L290 TraceCheckUtils]: 24: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:16,596 INFO L290 TraceCheckUtils]: 25: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:16,596 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {35307#true} {35307#true} #100#return; {35307#true} is VALID [2022-04-28 06:05:16,596 INFO L290 TraceCheckUtils]: 27: Hoare triple {35307#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {35393#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,597 INFO L290 TraceCheckUtils]: 28: Hoare triple {35393#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35393#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,597 INFO L290 TraceCheckUtils]: 29: Hoare triple {35393#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {35400#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,598 INFO L290 TraceCheckUtils]: 30: Hoare triple {35400#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35400#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,598 INFO L290 TraceCheckUtils]: 31: Hoare triple {35400#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,598 INFO L290 TraceCheckUtils]: 32: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,599 INFO L272 TraceCheckUtils]: 33: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,599 INFO L290 TraceCheckUtils]: 34: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:16,599 INFO L290 TraceCheckUtils]: 35: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:16,599 INFO L290 TraceCheckUtils]: 36: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:16,600 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {35307#true} {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,600 INFO L272 TraceCheckUtils]: 38: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,600 INFO L290 TraceCheckUtils]: 39: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:16,600 INFO L290 TraceCheckUtils]: 40: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:16,600 INFO L290 TraceCheckUtils]: 41: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:16,601 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {35307#true} {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,601 INFO L272 TraceCheckUtils]: 43: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,601 INFO L290 TraceCheckUtils]: 44: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:16,601 INFO L290 TraceCheckUtils]: 45: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:16,601 INFO L290 TraceCheckUtils]: 46: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:16,608 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {35307#true} {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #106#return; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,608 INFO L272 TraceCheckUtils]: 48: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,608 INFO L290 TraceCheckUtils]: 49: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:16,608 INFO L290 TraceCheckUtils]: 50: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:16,609 INFO L290 TraceCheckUtils]: 51: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:16,609 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {35307#true} {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #108#return; {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,610 INFO L290 TraceCheckUtils]: 53: Hoare triple {35407#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,610 INFO L290 TraceCheckUtils]: 54: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,610 INFO L272 TraceCheckUtils]: 55: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,610 INFO L290 TraceCheckUtils]: 56: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:16,610 INFO L290 TraceCheckUtils]: 57: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:16,610 INFO L290 TraceCheckUtils]: 58: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:16,611 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35307#true} {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,611 INFO L272 TraceCheckUtils]: 60: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,611 INFO L290 TraceCheckUtils]: 61: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:16,611 INFO L290 TraceCheckUtils]: 62: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:16,611 INFO L290 TraceCheckUtils]: 63: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:16,612 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35307#true} {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,612 INFO L272 TraceCheckUtils]: 65: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,612 INFO L290 TraceCheckUtils]: 66: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:16,612 INFO L290 TraceCheckUtils]: 67: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:16,612 INFO L290 TraceCheckUtils]: 68: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:16,613 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {35307#true} {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #106#return; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,613 INFO L272 TraceCheckUtils]: 70: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,613 INFO L290 TraceCheckUtils]: 71: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:16,613 INFO L290 TraceCheckUtils]: 72: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:16,613 INFO L290 TraceCheckUtils]: 73: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:16,614 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {35307#true} {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #108#return; {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,615 INFO L290 TraceCheckUtils]: 75: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,616 INFO L290 TraceCheckUtils]: 76: Hoare triple {35474#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (= main_~v~0 (* main_~b~0 2)) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {35544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,616 INFO L290 TraceCheckUtils]: 77: Hoare triple {35544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,617 INFO L290 TraceCheckUtils]: 78: Hoare triple {35544#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,617 INFO L290 TraceCheckUtils]: 79: Hoare triple {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,617 INFO L272 TraceCheckUtils]: 80: Hoare triple {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,617 INFO L290 TraceCheckUtils]: 81: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:16,617 INFO L290 TraceCheckUtils]: 82: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:16,617 INFO L290 TraceCheckUtils]: 83: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:16,618 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {35307#true} {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #102#return; {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,618 INFO L272 TraceCheckUtils]: 85: Hoare triple {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,618 INFO L290 TraceCheckUtils]: 86: Hoare triple {35307#true} ~cond := #in~cond; {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:05:16,619 INFO L290 TraceCheckUtils]: 87: Hoare triple {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:16,619 INFO L290 TraceCheckUtils]: 88: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:16,620 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #104#return; {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,620 INFO L272 TraceCheckUtils]: 90: Hoare triple {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,620 INFO L290 TraceCheckUtils]: 91: Hoare triple {35307#true} ~cond := #in~cond; {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:05:16,620 INFO L290 TraceCheckUtils]: 92: Hoare triple {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:16,621 INFO L290 TraceCheckUtils]: 93: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:16,622 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35551#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (= main_~k~0 2) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #106#return; {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,622 INFO L272 TraceCheckUtils]: 95: Hoare triple {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:16,622 INFO L290 TraceCheckUtils]: 96: Hoare triple {35307#true} ~cond := #in~cond; {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:05:16,622 INFO L290 TraceCheckUtils]: 97: Hoare triple {35576#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:16,623 INFO L290 TraceCheckUtils]: 98: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:16,623 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} #108#return; {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,624 INFO L290 TraceCheckUtils]: 100: Hoare triple {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= 2 * ~v~0); {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,624 INFO L290 TraceCheckUtils]: 101: Hoare triple {35602#(and (= main_~b~0 main_~v~0) (= main_~r~0 0) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~d~0 1) (= main_~k~0 2) (= main_~q~0 0) (= main_~p~0 1))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,625 INFO L290 TraceCheckUtils]: 102: Hoare triple {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} assume !false; {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,625 INFO L290 TraceCheckUtils]: 103: Hoare triple {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} is VALID [2022-04-28 06:05:16,626 INFO L290 TraceCheckUtils]: 104: Hoare triple {35624#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 3)) main_~x~0) (= (+ (- 2) main_~k~0) 1) (= main_~p~0 1))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {35634#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~x~0 (+ main_~b~0 (* main_~y~0 3))) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} is VALID [2022-04-28 06:05:16,626 INFO L290 TraceCheckUtils]: 105: Hoare triple {35634#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~x~0 (+ main_~b~0 (* main_~y~0 3))) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} assume !false; {35634#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~x~0 (+ main_~b~0 (* main_~y~0 3))) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} is VALID [2022-04-28 06:05:16,627 INFO L290 TraceCheckUtils]: 106: Hoare triple {35634#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= main_~x~0 (+ main_~b~0 (* main_~y~0 3))) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} assume !(0 != ~b~0); {35641#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= (+ main_~x~0 (* main_~y~0 (- 3))) 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} is VALID [2022-04-28 06:05:16,627 INFO L272 TraceCheckUtils]: 107: Hoare triple {35641#(and (= (+ main_~q~0 (* main_~p~0 3)) 1) (= (+ main_~x~0 (* main_~y~0 (- 3))) 0) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= (+ main_~s~0 3) 0))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {35645#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:05:16,628 INFO L290 TraceCheckUtils]: 108: Hoare triple {35645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:05:16,628 INFO L290 TraceCheckUtils]: 109: Hoare triple {35649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35308#false} is VALID [2022-04-28 06:05:16,628 INFO L290 TraceCheckUtils]: 110: Hoare triple {35308#false} assume !false; {35308#false} is VALID [2022-04-28 06:05:16,629 INFO L134 CoverageAnalysis]: Checked inductivity of 339 backedges. 102 proven. 30 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-28 06:05:16,629 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 06:05:47,757 INFO L290 TraceCheckUtils]: 110: Hoare triple {35308#false} assume !false; {35308#false} is VALID [2022-04-28 06:05:47,757 INFO L290 TraceCheckUtils]: 109: Hoare triple {35649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {35308#false} is VALID [2022-04-28 06:05:47,757 INFO L290 TraceCheckUtils]: 108: Hoare triple {35645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {35649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 06:05:47,758 INFO L272 TraceCheckUtils]: 107: Hoare triple {35665#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 - ~q~0 * ~x~0 + ~r~0 * ~y~0 - ~s~0 * ~y~0 == ~a~0 then 1 else 0)); {35645#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 06:05:47,758 INFO L290 TraceCheckUtils]: 106: Hoare triple {35669#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !(0 != ~b~0); {35665#(= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 06:05:47,759 INFO L290 TraceCheckUtils]: 105: Hoare triple {35669#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} assume !false; {35669#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-28 06:05:47,854 INFO L290 TraceCheckUtils]: 104: Hoare triple {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~a~0 := ~b~0;~b~0 := ~c~0;havoc ~temp~0;~temp~0 := ~p~0;~p~0 := ~q~0;~q~0 := ~temp~0 - ~q~0 * ~k~0;~temp~0 := ~r~0;~r~0 := ~s~0;~s~0 := ~temp~0 - ~s~0 * ~k~0; {35669#(or (= (+ (* main_~q~0 main_~x~0) main_~a~0 (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 0)))} is VALID [2022-04-28 06:05:47,855 INFO L290 TraceCheckUtils]: 103: Hoare triple {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= ~b~0); {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 06:05:47,855 INFO L290 TraceCheckUtils]: 102: Hoare triple {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 06:05:47,904 INFO L290 TraceCheckUtils]: 101: Hoare triple {35686#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {35676#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* main_~k~0 main_~s~0) (- 1)) main_~r~0) main_~y~0) main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 06:05:47,904 INFO L290 TraceCheckUtils]: 100: Hoare triple {35686#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !(~c~0 >= 2 * ~v~0); {35686#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 06:05:47,905 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35693#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #108#return; {35686#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 06:05:47,906 INFO L290 TraceCheckUtils]: 98: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:47,906 INFO L290 TraceCheckUtils]: 97: Hoare triple {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:47,906 INFO L290 TraceCheckUtils]: 96: Hoare triple {35307#true} ~cond := #in~cond; {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:05:47,906 INFO L272 TraceCheckUtils]: 95: Hoare triple {35693#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:47,907 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35710#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #106#return; {35693#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 06:05:47,908 INFO L290 TraceCheckUtils]: 93: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:47,908 INFO L290 TraceCheckUtils]: 92: Hoare triple {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:47,908 INFO L290 TraceCheckUtils]: 91: Hoare triple {35307#true} ~cond := #in~cond; {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:05:47,908 INFO L272 TraceCheckUtils]: 90: Hoare triple {35710#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:47,909 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #104#return; {35710#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 06:05:47,910 INFO L290 TraceCheckUtils]: 88: Hoare triple {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:47,910 INFO L290 TraceCheckUtils]: 87: Hoare triple {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {35580#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 06:05:47,910 INFO L290 TraceCheckUtils]: 86: Hoare triple {35307#true} ~cond := #in~cond; {35703#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 06:05:47,910 INFO L272 TraceCheckUtils]: 85: Hoare triple {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:47,911 INFO L284 TraceCheckUtils]: 84: Hoare quadruple {35307#true} {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} #102#return; {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 06:05:47,911 INFO L290 TraceCheckUtils]: 83: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:47,911 INFO L290 TraceCheckUtils]: 82: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:47,911 INFO L290 TraceCheckUtils]: 81: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:47,911 INFO L272 TraceCheckUtils]: 80: Hoare triple {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:47,912 INFO L290 TraceCheckUtils]: 79: Hoare triple {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} assume !false; {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 06:05:47,913 INFO L290 TraceCheckUtils]: 78: Hoare triple {35760#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {35726#(or (not (= (+ main_~c~0 (* (- 1) main_~v~0)) 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~v~0 (* main_~d~0 main_~b~0))) (= (+ main_~b~0 (* (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0))) main_~x~0) (* (+ (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0))) main_~r~0) main_~y~0)) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))))} is VALID [2022-04-28 06:05:47,914 INFO L290 TraceCheckUtils]: 77: Hoare triple {35760#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} assume !false; {35760#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 06:05:48,023 INFO L290 TraceCheckUtils]: 76: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} ~c~0 := ~c~0 - ~v~0;~k~0 := ~k~0 + ~d~0; {35760#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) (+ main_~k~0 1) main_~q~0))) main_~b~0 (* main_~y~0 (+ main_~r~0 (* (* (+ main_~k~0 1) main_~s~0) (- 1))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 06:05:48,024 INFO L290 TraceCheckUtils]: 75: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} assume !(~c~0 >= 2 * ~v~0); {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-28 06:05:48,025 INFO L284 TraceCheckUtils]: 74: Hoare quadruple {35307#true} {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} #108#return; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-28 06:05:48,025 INFO L290 TraceCheckUtils]: 73: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:48,025 INFO L290 TraceCheckUtils]: 72: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:48,025 INFO L290 TraceCheckUtils]: 71: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:48,025 INFO L272 TraceCheckUtils]: 70: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:48,026 INFO L284 TraceCheckUtils]: 69: Hoare quadruple {35307#true} {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} #106#return; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-28 06:05:48,026 INFO L290 TraceCheckUtils]: 68: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:48,026 INFO L290 TraceCheckUtils]: 67: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:48,026 INFO L290 TraceCheckUtils]: 66: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:48,026 INFO L272 TraceCheckUtils]: 65: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:48,027 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {35307#true} {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} #104#return; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-28 06:05:48,027 INFO L290 TraceCheckUtils]: 63: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:48,027 INFO L290 TraceCheckUtils]: 62: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:48,027 INFO L290 TraceCheckUtils]: 61: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:48,027 INFO L272 TraceCheckUtils]: 60: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:48,028 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {35307#true} {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} #102#return; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-28 06:05:48,028 INFO L290 TraceCheckUtils]: 58: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:48,028 INFO L290 TraceCheckUtils]: 57: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:48,028 INFO L290 TraceCheckUtils]: 56: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:48,028 INFO L272 TraceCheckUtils]: 55: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:48,028 INFO L290 TraceCheckUtils]: 54: Hoare triple {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} assume !false; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-28 06:05:48,080 INFO L290 TraceCheckUtils]: 53: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} assume !!(~c~0 >= 2 * ~v~0);~d~0 := 2 * ~d~0;~v~0 := 2 * ~v~0; {35767#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~d~0 main_~k~0 1)))) (* (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~d~0 main_~k~0 1)))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ main_~c~0 (* (- 1) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~d~0 main_~b~0)))))} is VALID [2022-04-28 06:05:48,081 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {35307#true} {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} #108#return; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-28 06:05:48,081 INFO L290 TraceCheckUtils]: 51: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:48,081 INFO L290 TraceCheckUtils]: 50: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:48,081 INFO L290 TraceCheckUtils]: 49: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:48,081 INFO L272 TraceCheckUtils]: 48: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} call __VERIFIER_assert((if ~v~0 == ~b~0 * ~d~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:48,082 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {35307#true} {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} #106#return; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-28 06:05:48,082 INFO L290 TraceCheckUtils]: 46: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:48,082 INFO L290 TraceCheckUtils]: 45: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:48,082 INFO L290 TraceCheckUtils]: 44: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:48,082 INFO L272 TraceCheckUtils]: 43: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:48,083 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {35307#true} {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} #104#return; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-28 06:05:48,083 INFO L290 TraceCheckUtils]: 41: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:48,083 INFO L290 TraceCheckUtils]: 40: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:48,083 INFO L290 TraceCheckUtils]: 39: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:48,083 INFO L272 TraceCheckUtils]: 38: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:48,084 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {35307#true} {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} #102#return; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-28 06:05:48,084 INFO L290 TraceCheckUtils]: 36: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:48,084 INFO L290 TraceCheckUtils]: 35: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:48,084 INFO L290 TraceCheckUtils]: 34: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:48,084 INFO L272 TraceCheckUtils]: 33: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:48,085 INFO L290 TraceCheckUtils]: 32: Hoare triple {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} assume !false; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-28 06:05:48,085 INFO L290 TraceCheckUtils]: 31: Hoare triple {35904#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)))) (not (= (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(~c~0 >= ~b~0);havoc ~d~0;havoc ~v~0;~d~0 := 1;~v~0 := ~b~0; {35837#(or (= (+ (* main_~x~0 (+ (* (- 1) (+ main_~k~0 (* main_~d~0 2) 1) main_~q~0) main_~p~0)) (* (+ main_~r~0 (* (- 1) (* (+ main_~k~0 (* main_~d~0 2) 1) main_~s~0))) main_~y~0) main_~b~0) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (not (= (+ main_~c~0 (* (- 2) main_~v~0)) (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))) (not (= main_~b~0 (+ main_~a~0 (* (- 1) main_~b~0 main_~k~0) (* (- 1) main_~b~0 (* main_~d~0 2))))))} is VALID [2022-04-28 06:05:48,086 INFO L290 TraceCheckUtils]: 30: Hoare triple {35904#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)))) (not (= (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {35904#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)))) (not (= (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:48,087 INFO L290 TraceCheckUtils]: 29: Hoare triple {35911#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(0 != ~b~0);havoc ~c~0;havoc ~k~0;~c~0 := ~a~0;~k~0 := 0; {35904#(or (= (+ main_~b~0 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0 (+ main_~k~0 3)))) (* main_~y~0 (+ main_~r~0 (* (- 1) (* main_~s~0 (+ main_~k~0 3)))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~c~0) (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)))) (not (= (+ (* (- 2) main_~b~0) main_~a~0 (* (- 1) main_~b~0 main_~k~0)) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:48,087 INFO L290 TraceCheckUtils]: 28: Hoare triple {35911#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !false; {35911#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:48,088 INFO L290 TraceCheckUtils]: 27: Hoare triple {35307#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {35911#(or (= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) main_~b~0 (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-28 06:05:48,088 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {35307#true} {35307#true} #100#return; {35307#true} is VALID [2022-04-28 06:05:48,088 INFO L290 TraceCheckUtils]: 25: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:48,088 INFO L290 TraceCheckUtils]: 24: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:48,088 INFO L290 TraceCheckUtils]: 23: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:48,088 INFO L272 TraceCheckUtils]: 22: Hoare triple {35307#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:48,088 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {35307#true} {35307#true} #98#return; {35307#true} is VALID [2022-04-28 06:05:48,088 INFO L290 TraceCheckUtils]: 20: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:48,088 INFO L290 TraceCheckUtils]: 19: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:48,088 INFO L290 TraceCheckUtils]: 18: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:48,088 INFO L272 TraceCheckUtils]: 17: Hoare triple {35307#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:48,088 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {35307#true} {35307#true} #96#return; {35307#true} is VALID [2022-04-28 06:05:48,088 INFO L290 TraceCheckUtils]: 15: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:48,088 INFO L290 TraceCheckUtils]: 14: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:48,088 INFO L290 TraceCheckUtils]: 13: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:48,088 INFO L272 TraceCheckUtils]: 12: Hoare triple {35307#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 20 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:48,088 INFO L290 TraceCheckUtils]: 11: Hoare triple {35307#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35307#true} is VALID [2022-04-28 06:05:48,089 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {35307#true} {35307#true} #94#return; {35307#true} is VALID [2022-04-28 06:05:48,089 INFO L290 TraceCheckUtils]: 9: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:48,089 INFO L290 TraceCheckUtils]: 8: Hoare triple {35307#true} assume !(0 == ~cond); {35307#true} is VALID [2022-04-28 06:05:48,089 INFO L290 TraceCheckUtils]: 7: Hoare triple {35307#true} ~cond := #in~cond; {35307#true} is VALID [2022-04-28 06:05:48,089 INFO L272 TraceCheckUtils]: 6: Hoare triple {35307#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 20 then 1 else 0)); {35307#true} is VALID [2022-04-28 06:05:48,089 INFO L290 TraceCheckUtils]: 5: Hoare triple {35307#true} havoc ~x~0;havoc ~y~0;havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {35307#true} is VALID [2022-04-28 06:05:48,089 INFO L272 TraceCheckUtils]: 4: Hoare triple {35307#true} call #t~ret6 := main(); {35307#true} is VALID [2022-04-28 06:05:48,089 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35307#true} {35307#true} #112#return; {35307#true} is VALID [2022-04-28 06:05:48,089 INFO L290 TraceCheckUtils]: 2: Hoare triple {35307#true} assume true; {35307#true} is VALID [2022-04-28 06:05:48,089 INFO L290 TraceCheckUtils]: 1: Hoare triple {35307#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(11, 2);call #Ultimate.allocInit(12, 3); {35307#true} is VALID [2022-04-28 06:05:48,089 INFO L272 TraceCheckUtils]: 0: Hoare triple {35307#true} call ULTIMATE.init(); {35307#true} is VALID [2022-04-28 06:05:48,090 INFO L134 CoverageAnalysis]: Checked inductivity of 339 backedges. 102 proven. 30 refuted. 0 times theorem prover too weak. 207 trivial. 0 not checked. [2022-04-28 06:05:48,090 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 06:05:48,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1879942998] [2022-04-28 06:05:48,090 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 06:05:48,090 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [387900651] [2022-04-28 06:05:48,090 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [387900651] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 06:05:48,090 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 06:05:48,090 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 18] total 29 [2022-04-28 06:05:48,091 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 06:05:48,091 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [378125566] [2022-04-28 06:05:48,091 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [378125566] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 06:05:48,091 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 06:05:48,091 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 06:05:48,091 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1790305384] [2022-04-28 06:05:48,091 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 06:05:48,093 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 111 [2022-04-28 06:05:48,093 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 06:05:48,093 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 06:05:48,173 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:05:48,173 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 06:05:48,173 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 06:05:48,173 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 06:05:48,173 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=167, Invalid=645, Unknown=0, NotChecked=0, Total=812 [2022-04-28 06:05:48,174 INFO L87 Difference]: Start difference. First operand 491 states and 671 transitions. Second operand has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 06:05:52,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:05:52,580 INFO L93 Difference]: Finished difference Result 584 states and 797 transitions. [2022-04-28 06:05:52,580 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 06:05:52,586 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) Word has length 111 [2022-04-28 06:05:52,586 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 06:05:52,586 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 06:05:52,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-28 06:05:52,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 06:05:52,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 158 transitions. [2022-04-28 06:05:52,589 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 158 transitions. [2022-04-28 06:05:52,760 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:05:52,788 INFO L225 Difference]: With dead ends: 584 [2022-04-28 06:05:52,788 INFO L226 Difference]: Without dead ends: 581 [2022-04-28 06:05:52,789 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 225 GetRequests, 191 SyntacticMatches, 3 SemanticMatches, 31 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 269 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=207, Invalid=849, Unknown=0, NotChecked=0, Total=1056 [2022-04-28 06:05:52,790 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 47 mSDsluCounter, 343 mSDsCounter, 0 mSdLazyCounter, 1040 mSolverCounterSat, 66 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 396 SdHoareTripleChecker+Invalid, 1106 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 66 IncrementalHoareTripleChecker+Valid, 1040 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-28 06:05:52,790 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [65 Valid, 396 Invalid, 1106 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [66 Valid, 1040 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-28 06:05:52,792 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 581 states. [2022-04-28 06:05:53,830 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 581 to 524. [2022-04-28 06:05:53,830 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 06:05:53,831 INFO L82 GeneralOperation]: Start isEquivalent. First operand 581 states. Second operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) [2022-04-28 06:05:53,831 INFO L74 IsIncluded]: Start isIncluded. First operand 581 states. Second operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) [2022-04-28 06:05:53,832 INFO L87 Difference]: Start difference. First operand 581 states. Second operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) [2022-04-28 06:05:53,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:05:53,845 INFO L93 Difference]: Finished difference Result 581 states and 793 transitions. [2022-04-28 06:05:53,845 INFO L276 IsEmpty]: Start isEmpty. Operand 581 states and 793 transitions. [2022-04-28 06:05:53,846 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:05:53,846 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:05:53,846 INFO L74 IsIncluded]: Start isIncluded. First operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) Second operand 581 states. [2022-04-28 06:05:53,847 INFO L87 Difference]: Start difference. First operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) Second operand 581 states. [2022-04-28 06:05:53,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 06:05:53,860 INFO L93 Difference]: Finished difference Result 581 states and 793 transitions. [2022-04-28 06:05:53,860 INFO L276 IsEmpty]: Start isEmpty. Operand 581 states and 793 transitions. [2022-04-28 06:05:53,861 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 06:05:53,861 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 06:05:53,861 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 06:05:53,861 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 06:05:53,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 524 states, 306 states have (on average 1.1862745098039216) internal successors, (363), 308 states have internal predecessors, (363), 178 states have call successors, (178), 40 states have call predecessors, (178), 39 states have return successors, (176), 175 states have call predecessors, (176), 176 states have call successors, (176) [2022-04-28 06:05:53,876 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 524 states to 524 states and 717 transitions. [2022-04-28 06:05:53,877 INFO L78 Accepts]: Start accepts. Automaton has 524 states and 717 transitions. Word has length 111 [2022-04-28 06:05:53,877 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 06:05:53,877 INFO L495 AbstractCegarLoop]: Abstraction has 524 states and 717 transitions. [2022-04-28 06:05:53,877 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.4) internal successors, (36), 15 states have internal predecessors, (36), 6 states have call successors, (19), 2 states have call predecessors, (19), 2 states have return successors, (17), 5 states have call predecessors, (17), 5 states have call successors, (17) [2022-04-28 06:05:53,877 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 524 states and 717 transitions. [2022-04-28 06:05:56,058 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 717 edges. 717 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 06:05:56,058 INFO L276 IsEmpty]: Start isEmpty. Operand 524 states and 717 transitions. [2022-04-28 06:05:56,059 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-28 06:05:56,059 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 06:05:56,059 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 06:05:56,076 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-28 06:05:56,275 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-28 06:05:56,276 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 06:05:56,276 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 06:05:56,276 INFO L85 PathProgramCache]: Analyzing trace with hash 890766036, now seen corresponding path program 9 times [2022-04-28 06:05:56,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 06:05:56,276 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [579715229] [2022-04-28 06:05:56,276 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 06:05:56,276 INFO L85 PathProgramCache]: Analyzing trace with hash 890766036, now seen corresponding path program 10 times [2022-04-28 06:05:56,276 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 06:05:56,277 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2013218981] [2022-04-28 06:05:56,277 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 06:05:56,277 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 06:05:56,319 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 06:05:56,320 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [665075062] [2022-04-28 06:05:56,320 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 06:05:56,320 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 06:05:56,320 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 06:05:56,335 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 06:05:56,344 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-28 06:05:56,396 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 06:05:56,396 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 06:05:56,397 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 80 conjunts are in the unsatisfiable core [2022-04-28 06:05:56,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 06:05:56,414 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 06:06:57,771 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful