/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/acceleratedInterpolationQvasr_64.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 12:20:48,407 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 12:20:48,410 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 12:20:48,448 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 12:20:48,448 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 12:20:48,449 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 12:20:48,451 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 12:20:48,453 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 12:20:48,454 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 12:20:48,457 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 12:20:48,458 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 12:20:48,459 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 12:20:48,459 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 12:20:48,461 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 12:20:48,462 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 12:20:48,464 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 12:20:48,464 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 12:20:48,465 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 12:20:48,466 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 12:20:48,469 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 12:20:48,470 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 12:20:48,472 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 12:20:48,472 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 12:20:48,473 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 12:20:48,473 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 12:20:48,474 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 12:20:48,475 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 12:20:48,475 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 12:20:48,475 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 12:20:48,475 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 12:20:48,476 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 12:20:48,476 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 12:20:48,476 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 12:20:48,477 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 12:20:48,477 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 12:20:48,478 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 12:20:48,478 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 12:20:48,478 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 12:20:48,478 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 12:20:48,478 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 12:20:48,479 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 12:20:48,484 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 12:20:48,484 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-28 12:20:48,501 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 12:20:48,501 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 12:20:48,502 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 12:20:48,502 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 12:20:48,502 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 12:20:48,502 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 12:20:48,502 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 12:20:48,502 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 12:20:48,503 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 12:20:48,503 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 12:20:48,503 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 12:20:48,503 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 12:20:48,503 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 12:20:48,504 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 12:20:48,504 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 12:20:48,504 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:20:48,504 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 12:20:48,504 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 12:20:48,504 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 12:20:48,504 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 12:20:48,504 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 12:20:48,504 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-28 12:20:48,504 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 12:20:48,661 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 12:20:48,674 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 12:20:48,676 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 12:20:48,676 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 12:20:48,677 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 12:20:48,678 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound2.c [2022-04-28 12:20:48,715 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/301a38e24/0b05ea3db83f45938a04288e4ac6e5e3/FLAG06e7332d7 [2022-04-28 12:20:49,037 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 12:20:49,037 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound2.c [2022-04-28 12:20:49,041 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/301a38e24/0b05ea3db83f45938a04288e4ac6e5e3/FLAG06e7332d7 [2022-04-28 12:20:49,468 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/301a38e24/0b05ea3db83f45938a04288e4ac6e5e3 [2022-04-28 12:20:49,469 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 12:20:49,470 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 12:20:49,483 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 12:20:49,483 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 12:20:49,485 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 12:20:49,486 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:20:49" (1/1) ... [2022-04-28 12:20:49,486 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@780774a0 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:20:49, skipping insertion in model container [2022-04-28 12:20:49,486 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 12:20:49" (1/1) ... [2022-04-28 12:20:49,490 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 12:20:49,500 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 12:20:49,620 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/egcd2-ll_valuebound2.c[490,503] [2022-04-28 12:20:49,645 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:20:49,650 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 12:20:49,658 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/egcd2-ll_valuebound2.c[490,503] [2022-04-28 12:20:49,667 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 12:20:49,677 INFO L208 MainTranslator]: Completed translation [2022-04-28 12:20:49,679 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:20:49 WrapperNode [2022-04-28 12:20:49,679 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 12:20:49,680 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 12:20:49,680 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 12:20:49,680 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 12:20:49,686 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:20:49" (1/1) ... [2022-04-28 12:20:49,686 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:20:49" (1/1) ... [2022-04-28 12:20:49,690 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:20:49" (1/1) ... [2022-04-28 12:20:49,690 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:20:49" (1/1) ... [2022-04-28 12:20:49,694 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:20:49" (1/1) ... [2022-04-28 12:20:49,697 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:20:49" (1/1) ... [2022-04-28 12:20:49,697 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:20:49" (1/1) ... [2022-04-28 12:20:49,699 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 12:20:49,699 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 12:20:49,699 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 12:20:49,699 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 12:20:49,700 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:20:49" (1/1) ... [2022-04-28 12:20:49,710 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 12:20:49,726 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:20:49,738 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 12:20:49,754 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 12:20:49,774 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 12:20:49,774 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 12:20:49,774 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 12:20:49,775 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 12:20:49,775 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 12:20:49,775 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 12:20:49,775 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 12:20:49,775 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 12:20:49,775 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 12:20:49,776 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 12:20:49,776 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 12:20:49,776 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 12:20:49,776 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 12:20:49,776 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 12:20:49,777 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 12:20:49,778 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 12:20:49,778 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 12:20:49,778 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 12:20:49,778 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 12:20:49,778 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 12:20:49,823 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 12:20:49,824 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 12:20:49,944 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 12:20:49,948 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 12:20:49,948 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 12:20:49,949 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:20:49 BoogieIcfgContainer [2022-04-28 12:20:49,949 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 12:20:49,951 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 12:20:49,951 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 12:20:49,953 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 12:20:49,953 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 12:20:49" (1/3) ... [2022-04-28 12:20:49,953 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@65ce3a5d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:20:49, skipping insertion in model container [2022-04-28 12:20:49,953 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 12:20:49" (2/3) ... [2022-04-28 12:20:49,954 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@65ce3a5d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 12:20:49, skipping insertion in model container [2022-04-28 12:20:49,954 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 12:20:49" (3/3) ... [2022-04-28 12:20:49,954 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_valuebound2.c [2022-04-28 12:20:49,970 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 12:20:49,970 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 12:20:50,002 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 12:20:50,007 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@52778d34, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@17d181d1 [2022-04-28 12:20:50,007 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 12:20:50,025 INFO L276 IsEmpty]: Start isEmpty. Operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 12:20:50,031 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-28 12:20:50,031 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:20:50,031 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 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 12:20:50,032 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:20:50,035 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:20:50,035 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 1 times [2022-04-28 12:20:50,045 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:50,045 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [782078621] [2022-04-28 12:20:50,052 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:20:50,065 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 2 times [2022-04-28 12:20:50,067 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:20:50,067 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1177718372] [2022-04-28 12:20:50,067 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:20:50,068 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:20:50,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:50,203 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 12:20:50,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:50,227 INFO L290 TraceCheckUtils]: 0: Hoare triple {72#(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 12:20:50,227 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 12:20:50,228 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-28 12:20:50,228 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 12:20:50,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:50,235 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:20:50,236 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:20:50,236 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:20:50,236 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-28 12:20:50,236 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 12:20:50,237 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:50,241 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:20:50,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:20:50,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:20:50,242 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-28 12:20:50,242 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 12:20:50,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:50,247 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:20:50,248 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:20:50,248 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:20:50,248 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-28 12:20:50,248 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-28 12:20:50,249 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:50,253 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:20:50,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:20:50,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:20:50,254 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-28 12:20:50,254 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-28 12:20:50,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:50,264 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:20:50,264 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:20:50,264 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:20:50,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-28 12:20:50,265 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-04-28 12:20:50,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:50,270 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:20:50,270 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:20:50,270 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:20:50,270 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-28 12:20:50,271 INFO L272 TraceCheckUtils]: 0: Hoare triple {43#true} call ULTIMATE.init(); {72#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 12:20:50,271 INFO L290 TraceCheckUtils]: 1: Hoare triple {72#(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 12:20:50,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-28 12:20:50,272 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-28 12:20:50,272 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-28 12:20:50,272 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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {43#true} is VALID [2022-04-28 12:20:50,272 INFO L272 TraceCheckUtils]: 6: Hoare triple {43#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {43#true} is VALID [2022-04-28 12:20:50,272 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:20:50,273 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:20:50,273 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:20:50,273 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-28 12:20:50,273 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 12:20:50,273 INFO L272 TraceCheckUtils]: 12: Hoare triple {44#false} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {43#true} is VALID [2022-04-28 12:20:50,274 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:20:50,274 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:20:50,274 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:20:50,274 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-28 12:20:50,275 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 12:20:50,275 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:20:50,276 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:20:50,276 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:20:50,276 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-28 12:20:50,277 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 12:20:50,277 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:20:50,277 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:20:50,277 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:20:50,278 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-28 12:20:50,278 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;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {44#false} is VALID [2022-04-28 12:20:50,278 INFO L272 TraceCheckUtils]: 28: Hoare triple {44#false} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-28 12:20:50,278 INFO L290 TraceCheckUtils]: 29: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:20:50,279 INFO L290 TraceCheckUtils]: 30: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:20:50,279 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:20:50,279 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-28 12:20:50,279 INFO L272 TraceCheckUtils]: 33: Hoare triple {44#false} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {43#true} is VALID [2022-04-28 12:20:50,279 INFO L290 TraceCheckUtils]: 34: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-28 12:20:50,280 INFO L290 TraceCheckUtils]: 35: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-28 12:20:50,280 INFO L290 TraceCheckUtils]: 36: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-28 12:20:50,280 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-28 12:20:50,280 INFO L290 TraceCheckUtils]: 38: Hoare triple {44#false} assume !true; {44#false} is VALID [2022-04-28 12:20:50,280 INFO L272 TraceCheckUtils]: 39: Hoare triple {44#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {44#false} is VALID [2022-04-28 12:20:50,281 INFO L290 TraceCheckUtils]: 40: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-28 12:20:50,281 INFO L290 TraceCheckUtils]: 41: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-28 12:20:50,281 INFO L290 TraceCheckUtils]: 42: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-28 12:20:50,281 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-28 12:20:50,282 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:50,282 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1177718372] [2022-04-28 12:20:50,283 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1177718372] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:50,283 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:50,283 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:20:50,286 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:50,286 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [782078621] [2022-04-28 12:20:50,286 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [782078621] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:50,286 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:50,286 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-28 12:20:50,286 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1606701314] [2022-04-28 12:20:50,287 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:50,290 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-28 12:20:50,291 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:50,293 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:20:50,323 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:50,323 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-28 12:20:50,323 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:50,342 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-28 12:20:50,342 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-28 12:20:50,344 INFO L87 Difference]: Start difference. First operand has 40 states, 20 states have (on average 1.45) internal successors, (29), 22 states have internal predecessors, (29), 14 states have call successors, (14), 4 states have call predecessors, (14), 4 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:20:50,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:50,489 INFO L93 Difference]: Finished difference Result 73 states and 118 transitions. [2022-04-28 12:20:50,489 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-28 12:20:50,490 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) Word has length 43 [2022-04-28 12:20:50,490 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:20:50,491 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:20:50,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-28 12:20:50,503 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:20:50,508 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-28 12:20:50,508 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 118 transitions. [2022-04-28 12:20:50,618 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:50,624 INFO L225 Difference]: With dead ends: 73 [2022-04-28 12:20:50,624 INFO L226 Difference]: Without dead ends: 35 [2022-04-28 12:20:50,626 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 21 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 12:20:50,628 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 20 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 14 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:20:50,629 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 42 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 14 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:20:50,638 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-28 12:20:50,648 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-28 12:20:50,649 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:20:50,649 INFO L82 GeneralOperation]: Start isEquivalent. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:20:50,650 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:20:50,650 INFO L87 Difference]: Start difference. First operand 35 states. Second operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:20:50,653 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:50,653 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-28 12:20:50,654 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-28 12:20:50,654 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:50,654 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:50,655 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-28 12:20:50,655 INFO L87 Difference]: Start difference. First operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 35 states. [2022-04-28 12:20:50,658 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:50,658 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-28 12:20:50,658 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-28 12:20:50,659 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:50,659 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:50,659 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:20:50,659 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:20:50,659 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 17 states have (on average 1.1764705882352942) internal successors, (20), 19 states have internal predecessors, (20), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:20:50,661 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 46 transitions. [2022-04-28 12:20:50,662 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 46 transitions. Word has length 43 [2022-04-28 12:20:50,662 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:20:50,662 INFO L495 AbstractCegarLoop]: Abstraction has 35 states and 46 transitions. [2022-04-28 12:20:50,663 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, (9), 3 states have call predecessors, (9), 2 states have return successors, (7), 2 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:20:50,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 46 transitions. [2022-04-28 12:20:50,705 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:50,705 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-28 12:20:50,706 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-28 12:20:50,706 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:20:50,706 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 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 12:20:50,706 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 12:20:50,706 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:20:50,707 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:20:50,707 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 1 times [2022-04-28 12:20:50,707 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:50,707 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1505736191] [2022-04-28 12:20:50,708 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:20:50,708 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 2 times [2022-04-28 12:20:50,708 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:20:50,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1614392120] [2022-04-28 12:20:50,708 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:20:50,709 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:20:50,727 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:20:50,727 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1008354182] [2022-04-28 12:20:50,727 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:20:50,727 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:50,728 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:20:50,729 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 12:20:50,730 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 12:20:50,776 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:20:50,776 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:20:50,778 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:20:50,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:50,810 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:20:51,033 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-28 12:20:51,033 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#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); {361#true} is VALID [2022-04-28 12:20:51,033 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:20:51,033 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-28 12:20:51,034 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-28 12:20:51,034 INFO L290 TraceCheckUtils]: 5: Hoare triple {361#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {361#true} is VALID [2022-04-28 12:20:51,034 INFO L272 TraceCheckUtils]: 6: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {361#true} is VALID [2022-04-28 12:20:51,034 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:20:51,034 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:20:51,034 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:20:51,035 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-28 12:20:51,035 INFO L290 TraceCheckUtils]: 11: Hoare triple {361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {361#true} is VALID [2022-04-28 12:20:51,035 INFO L272 TraceCheckUtils]: 12: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {361#true} is VALID [2022-04-28 12:20:51,035 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:20:51,035 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:20:51,035 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:20:51,036 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-28 12:20:51,036 INFO L272 TraceCheckUtils]: 17: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 12:20:51,036 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:20:51,036 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:20:51,036 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:20:51,036 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-28 12:20:51,036 INFO L272 TraceCheckUtils]: 22: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 12:20:51,041 INFO L290 TraceCheckUtils]: 23: Hoare triple {361#true} ~cond := #in~cond; {435#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:20:51,042 INFO L290 TraceCheckUtils]: 24: Hoare triple {435#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:51,042 INFO L290 TraceCheckUtils]: 25: Hoare triple {439#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:51,043 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {439#(not (= |assume_abort_if_not_#in~cond| 0))} {361#true} #85#return; {446#(<= 1 main_~y~0)} is VALID [2022-04-28 12:20:51,043 INFO L290 TraceCheckUtils]: 27: Hoare triple {446#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:20:51,044 INFO L272 TraceCheckUtils]: 28: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-28 12:20:51,044 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:20:51,046 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:20:51,046 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:20:51,047 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:20:51,048 INFO L272 TraceCheckUtils]: 33: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-28 12:20:51,048 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:20:51,048 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:20:51,048 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:20:51,050 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:20:51,051 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:20:51,051 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-28 12:20:51,052 INFO L272 TraceCheckUtils]: 40: Hoare triple {362#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {362#false} is VALID [2022-04-28 12:20:51,052 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-28 12:20:51,052 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-28 12:20:51,052 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-28 12:20:51,052 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-28 12:20:51,053 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:20:51,298 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-28 12:20:51,299 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-28 12:20:51,299 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-28 12:20:51,300 INFO L272 TraceCheckUtils]: 40: Hoare triple {362#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {362#false} is VALID [2022-04-28 12:20:51,301 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-28 12:20:51,308 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:20:51,309 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:20:51,311 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:20:51,311 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:20:51,311 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:20:51,311 INFO L272 TraceCheckUtils]: 33: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-28 12:20:51,312 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:20:51,312 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:20:51,312 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:20:51,312 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:20:51,312 INFO L272 TraceCheckUtils]: 28: Hoare triple {450#(<= 1 main_~b~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {361#true} is VALID [2022-04-28 12:20:51,313 INFO L290 TraceCheckUtils]: 27: Hoare triple {446#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {450#(<= 1 main_~b~0)} is VALID [2022-04-28 12:20:51,314 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {439#(not (= |assume_abort_if_not_#in~cond| 0))} {361#true} #85#return; {446#(<= 1 main_~y~0)} is VALID [2022-04-28 12:20:51,314 INFO L290 TraceCheckUtils]: 25: Hoare triple {439#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:51,314 INFO L290 TraceCheckUtils]: 24: Hoare triple {559#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {439#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:51,315 INFO L290 TraceCheckUtils]: 23: Hoare triple {361#true} ~cond := #in~cond; {559#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:20:51,315 INFO L272 TraceCheckUtils]: 22: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 12:20:51,315 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-28 12:20:51,315 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:20:51,315 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:20:51,315 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:20:51,315 INFO L272 TraceCheckUtils]: 17: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {361#true} is VALID [2022-04-28 12:20:51,316 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-28 12:20:51,316 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:20:51,316 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:20:51,316 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:20:51,316 INFO L272 TraceCheckUtils]: 12: Hoare triple {361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {361#true} is VALID [2022-04-28 12:20:51,316 INFO L290 TraceCheckUtils]: 11: Hoare triple {361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {361#true} is VALID [2022-04-28 12:20:51,316 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-28 12:20:51,316 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:20:51,316 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-28 12:20:51,317 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-28 12:20:51,317 INFO L272 TraceCheckUtils]: 6: Hoare triple {361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {361#true} is VALID [2022-04-28 12:20:51,317 INFO L290 TraceCheckUtils]: 5: Hoare triple {361#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {361#true} is VALID [2022-04-28 12:20:51,317 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-28 12:20:51,317 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-28 12:20:51,318 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-28 12:20:51,318 INFO L290 TraceCheckUtils]: 1: Hoare triple {361#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); {361#true} is VALID [2022-04-28 12:20:51,318 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-28 12:20:51,318 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 9 proven. 6 refuted. 0 times theorem prover too weak. 45 trivial. 0 not checked. [2022-04-28 12:20:51,318 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:51,318 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1614392120] [2022-04-28 12:20:51,318 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:20:51,318 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1008354182] [2022-04-28 12:20:51,319 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1008354182] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:20:51,319 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:20:51,319 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-28 12:20:51,320 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:51,320 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1505736191] [2022-04-28 12:20:51,321 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1505736191] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:51,321 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:51,321 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-28 12:20:51,321 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1619819387] [2022-04-28 12:20:51,321 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:51,321 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-28 12:20:51,322 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:51,322 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:20:51,343 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:51,343 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-28 12:20:51,343 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:51,344 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-28 12:20:51,344 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 12:20:51,344 INFO L87 Difference]: Start difference. First operand 35 states and 46 transitions. Second operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:20:51,613 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:51,613 INFO L93 Difference]: Finished difference Result 52 states and 69 transitions. [2022-04-28 12:20:51,614 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:20:51,614 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) Word has length 44 [2022-04-28 12:20:51,614 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:20:51,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:20:51,616 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 12:20:51,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:20:51,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-28 12:20:51,618 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-28 12:20:51,672 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 12:20:51,674 INFO L225 Difference]: With dead ends: 52 [2022-04-28 12:20:51,674 INFO L226 Difference]: Without dead ends: 44 [2022-04-28 12:20:51,674 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 89 GetRequests, 81 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=50, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:20:51,675 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 19 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 90 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 101 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 90 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:20:51,676 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 128 Invalid, 101 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 90 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:20:51,676 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-28 12:20:51,693 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-28 12:20:51,693 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:20:51,693 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:20:51,694 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:20:51,694 INFO L87 Difference]: Start difference. First operand 44 states. Second operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:20:51,696 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:51,697 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-28 12:20:51,697 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-28 12:20:51,697 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:51,697 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:51,698 INFO L74 IsIncluded]: Start isIncluded. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-28 12:20:51,698 INFO L87 Difference]: Start difference. First operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 44 states. [2022-04-28 12:20:51,700 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:51,700 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-28 12:20:51,700 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-28 12:20:51,701 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:51,701 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:51,701 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:20:51,701 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:20:51,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 19 states have (on average 1.1578947368421053) internal successors, (22), 20 states have internal predecessors, (22), 14 states have call successors, (14), 4 states have call predecessors, (14), 3 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 12:20:51,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-04-28 12:20:51,703 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 44 [2022-04-28 12:20:51,703 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:20:51,703 INFO L495 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-04-28 12:20:51,704 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 2.6666666666666665) internal successors, (16), 5 states have internal predecessors, (16), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 2 states have call successors, (7) [2022-04-28 12:20:51,704 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 48 transitions. [2022-04-28 12:20:51,750 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:51,750 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-04-28 12:20:51,751 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-28 12:20:51,751 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:20:51,751 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 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 12:20:51,773 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-28 12:20:51,983 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 12:20:51,984 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:20:51,984 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:20:51,984 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 1 times [2022-04-28 12:20:51,984 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:51,984 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1460705901] [2022-04-28 12:20:51,985 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:20:51,985 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 2 times [2022-04-28 12:20:51,985 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:20:51,985 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [251305685] [2022-04-28 12:20:51,985 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:20:51,985 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:20:52,006 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:20:52,007 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1628076725] [2022-04-28 12:20:52,007 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:20:52,007 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:52,007 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:20:52,008 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 12:20:52,009 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 12:20:52,040 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-28 12:20:52,040 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:20:52,055 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-28 12:20:52,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:52,066 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:20:52,198 INFO L272 TraceCheckUtils]: 0: Hoare triple {901#true} call ULTIMATE.init(); {901#true} is VALID [2022-04-28 12:20:52,199 INFO L290 TraceCheckUtils]: 1: Hoare triple {901#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); {901#true} is VALID [2022-04-28 12:20:52,199 INFO L290 TraceCheckUtils]: 2: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 12:20:52,199 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {901#true} {901#true} #103#return; {901#true} is VALID [2022-04-28 12:20:52,199 INFO L272 TraceCheckUtils]: 4: Hoare triple {901#true} call #t~ret6 := main(); {901#true} is VALID [2022-04-28 12:20:52,199 INFO L290 TraceCheckUtils]: 5: Hoare triple {901#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {901#true} is VALID [2022-04-28 12:20:52,199 INFO L272 TraceCheckUtils]: 6: Hoare triple {901#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {901#true} is VALID [2022-04-28 12:20:52,199 INFO L290 TraceCheckUtils]: 7: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 12:20:52,199 INFO L290 TraceCheckUtils]: 8: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 12:20:52,199 INFO L290 TraceCheckUtils]: 9: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 12:20:52,200 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {901#true} {901#true} #79#return; {901#true} is VALID [2022-04-28 12:20:52,200 INFO L290 TraceCheckUtils]: 11: Hoare triple {901#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {901#true} is VALID [2022-04-28 12:20:52,200 INFO L272 TraceCheckUtils]: 12: Hoare triple {901#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {901#true} is VALID [2022-04-28 12:20:52,200 INFO L290 TraceCheckUtils]: 13: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 12:20:52,200 INFO L290 TraceCheckUtils]: 14: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 12:20:52,200 INFO L290 TraceCheckUtils]: 15: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 12:20:52,200 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {901#true} {901#true} #81#return; {901#true} is VALID [2022-04-28 12:20:52,200 INFO L272 TraceCheckUtils]: 17: Hoare triple {901#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {901#true} is VALID [2022-04-28 12:20:52,200 INFO L290 TraceCheckUtils]: 18: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 12:20:52,200 INFO L290 TraceCheckUtils]: 19: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 12:20:52,201 INFO L290 TraceCheckUtils]: 20: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 12:20:52,201 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {901#true} {901#true} #83#return; {901#true} is VALID [2022-04-28 12:20:52,201 INFO L272 TraceCheckUtils]: 22: Hoare triple {901#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {901#true} is VALID [2022-04-28 12:20:52,201 INFO L290 TraceCheckUtils]: 23: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 12:20:52,202 INFO L290 TraceCheckUtils]: 24: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 12:20:52,202 INFO L290 TraceCheckUtils]: 25: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 12:20:52,202 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {901#true} {901#true} #85#return; {901#true} is VALID [2022-04-28 12:20:52,202 INFO L290 TraceCheckUtils]: 27: Hoare triple {901#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {901#true} is VALID [2022-04-28 12:20:52,202 INFO L272 TraceCheckUtils]: 28: Hoare triple {901#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {901#true} is VALID [2022-04-28 12:20:52,202 INFO L290 TraceCheckUtils]: 29: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 12:20:52,202 INFO L290 TraceCheckUtils]: 30: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 12:20:52,202 INFO L290 TraceCheckUtils]: 31: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 12:20:52,202 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {901#true} {901#true} #87#return; {901#true} is VALID [2022-04-28 12:20:52,203 INFO L272 TraceCheckUtils]: 33: Hoare triple {901#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {901#true} is VALID [2022-04-28 12:20:52,203 INFO L290 TraceCheckUtils]: 34: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-28 12:20:52,203 INFO L290 TraceCheckUtils]: 35: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-28 12:20:52,203 INFO L290 TraceCheckUtils]: 36: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-28 12:20:52,203 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {901#true} {901#true} #89#return; {901#true} is VALID [2022-04-28 12:20:52,203 INFO L290 TraceCheckUtils]: 38: Hoare triple {901#true} assume !false; {901#true} is VALID [2022-04-28 12:20:52,203 INFO L290 TraceCheckUtils]: 39: Hoare triple {901#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:20:52,204 INFO L290 TraceCheckUtils]: 40: Hoare triple {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} assume !false; {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} is VALID [2022-04-28 12:20:52,205 INFO L272 TraceCheckUtils]: 41: Hoare triple {1023#(and (= main_~c~0 main_~a~0) (= main_~k~0 0) (not (= main_~b~0 0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:20:52,205 INFO L290 TraceCheckUtils]: 42: Hoare triple {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:52,205 INFO L290 TraceCheckUtils]: 43: Hoare triple {1034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {902#false} is VALID [2022-04-28 12:20:52,205 INFO L290 TraceCheckUtils]: 44: Hoare triple {902#false} assume !false; {902#false} is VALID [2022-04-28 12:20:52,206 INFO L134 CoverageAnalysis]: Checked inductivity of 60 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-28 12:20:52,206 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:20:52,206 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:52,206 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [251305685] [2022-04-28 12:20:52,206 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:20:52,206 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1628076725] [2022-04-28 12:20:52,207 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1628076725] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:52,207 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:52,207 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:20:52,207 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:52,207 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1460705901] [2022-04-28 12:20:52,207 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1460705901] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:52,207 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:52,207 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:20:52,207 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1138962330] [2022-04-28 12:20:52,207 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:52,208 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-28 12:20:52,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:52,210 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 12:20:52,227 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:52,228 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:20:52,228 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:52,228 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:20:52,228 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:20:52,229 INFO L87 Difference]: Start difference. First operand 37 states and 48 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 12:20:52,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:52,427 INFO L93 Difference]: Finished difference Result 50 states and 65 transitions. [2022-04-28 12:20:52,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:20:52,427 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) Word has length 45 [2022-04-28 12:20:52,427 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:20:52,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 12:20:52,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 12:20:52,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 12:20:52,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-28 12:20:52,430 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-28 12:20:52,473 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:52,474 INFO L225 Difference]: With dead ends: 50 [2022-04-28 12:20:52,474 INFO L226 Difference]: Without dead ends: 48 [2022-04-28 12:20:52,474 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 45 GetRequests, 41 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 12:20:52,475 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 6 mSDsluCounter, 110 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 154 SdHoareTripleChecker+Invalid, 41 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:20:52,475 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 154 Invalid, 41 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:20:52,476 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-28 12:20:52,497 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 43. [2022-04-28 12:20:52,497 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:20:52,497 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:20:52,497 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:20:52,498 INFO L87 Difference]: Start difference. First operand 48 states. Second operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:20:52,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:52,500 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-28 12:20:52,500 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-28 12:20:52,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:52,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:52,501 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 48 states. [2022-04-28 12:20:52,501 INFO L87 Difference]: Start difference. First operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) Second operand 48 states. [2022-04-28 12:20:52,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:52,503 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-28 12:20:52,503 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-28 12:20:52,503 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:52,503 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:52,503 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:20:52,503 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:20:52,504 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 23 states have (on average 1.1304347826086956) internal successors, (26), 25 states have internal predecessors, (26), 15 states have call successors, (15), 5 states have call predecessors, (15), 4 states have return successors, (13), 12 states have call predecessors, (13), 13 states have call successors, (13) [2022-04-28 12:20:52,505 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 54 transitions. [2022-04-28 12:20:52,505 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 54 transitions. Word has length 45 [2022-04-28 12:20:52,505 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:20:52,505 INFO L495 AbstractCegarLoop]: Abstraction has 43 states and 54 transitions. [2022-04-28 12:20:52,505 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 1 states have call predecessors, (7), 1 states have call successors, (7) [2022-04-28 12:20:52,506 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 54 transitions. [2022-04-28 12:20:52,556 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 12:20:52,557 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-28 12:20:52,557 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 12:20:52,557 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:20:52,557 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 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] [2022-04-28 12:20:52,577 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-28 12:20:52,773 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 12:20:52,773 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:20:52,773 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:20:52,774 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 1 times [2022-04-28 12:20:52,774 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:52,774 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1594753040] [2022-04-28 12:20:52,774 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:20:52,774 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 2 times [2022-04-28 12:20:52,774 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:20:52,774 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1038380963] [2022-04-28 12:20:52,774 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:20:52,775 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:20:52,793 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:20:52,793 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1476498687] [2022-04-28 12:20:52,793 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:20:52,793 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:52,793 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:20:52,807 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 12:20:52,808 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 12:20:52,870 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:20:52,870 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:20:52,870 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:20:52,880 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:52,881 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:20:55,915 INFO L272 TraceCheckUtils]: 0: Hoare triple {1324#true} call ULTIMATE.init(); {1324#true} is VALID [2022-04-28 12:20:55,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {1324#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); {1324#true} is VALID [2022-04-28 12:20:55,916 INFO L290 TraceCheckUtils]: 2: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 12:20:55,916 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1324#true} {1324#true} #103#return; {1324#true} is VALID [2022-04-28 12:20:55,916 INFO L272 TraceCheckUtils]: 4: Hoare triple {1324#true} call #t~ret6 := main(); {1324#true} is VALID [2022-04-28 12:20:55,916 INFO L290 TraceCheckUtils]: 5: Hoare triple {1324#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1324#true} is VALID [2022-04-28 12:20:55,916 INFO L272 TraceCheckUtils]: 6: Hoare triple {1324#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1324#true} is VALID [2022-04-28 12:20:55,916 INFO L290 TraceCheckUtils]: 7: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 12:20:55,916 INFO L290 TraceCheckUtils]: 8: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 12:20:55,917 INFO L290 TraceCheckUtils]: 9: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 12:20:55,917 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1324#true} {1324#true} #79#return; {1324#true} is VALID [2022-04-28 12:20:55,917 INFO L290 TraceCheckUtils]: 11: Hoare triple {1324#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1324#true} is VALID [2022-04-28 12:20:55,917 INFO L272 TraceCheckUtils]: 12: Hoare triple {1324#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1324#true} is VALID [2022-04-28 12:20:55,917 INFO L290 TraceCheckUtils]: 13: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 12:20:55,917 INFO L290 TraceCheckUtils]: 14: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 12:20:55,917 INFO L290 TraceCheckUtils]: 15: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 12:20:55,917 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1324#true} {1324#true} #81#return; {1324#true} is VALID [2022-04-28 12:20:55,917 INFO L272 TraceCheckUtils]: 17: Hoare triple {1324#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1324#true} is VALID [2022-04-28 12:20:55,917 INFO L290 TraceCheckUtils]: 18: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 12:20:55,918 INFO L290 TraceCheckUtils]: 19: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 12:20:55,918 INFO L290 TraceCheckUtils]: 20: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 12:20:55,918 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1324#true} {1324#true} #83#return; {1324#true} is VALID [2022-04-28 12:20:55,918 INFO L272 TraceCheckUtils]: 22: Hoare triple {1324#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1324#true} is VALID [2022-04-28 12:20:55,918 INFO L290 TraceCheckUtils]: 23: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 12:20:55,918 INFO L290 TraceCheckUtils]: 24: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 12:20:55,918 INFO L290 TraceCheckUtils]: 25: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 12:20:55,918 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1324#true} {1324#true} #85#return; {1324#true} is VALID [2022-04-28 12:20:55,919 INFO L290 TraceCheckUtils]: 27: Hoare triple {1324#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:55,919 INFO L272 TraceCheckUtils]: 28: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1324#true} is VALID [2022-04-28 12:20:55,919 INFO L290 TraceCheckUtils]: 29: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 12:20:55,919 INFO L290 TraceCheckUtils]: 30: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 12:20:55,919 INFO L290 TraceCheckUtils]: 31: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 12:20:55,920 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1324#true} {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:55,920 INFO L272 TraceCheckUtils]: 33: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1324#true} is VALID [2022-04-28 12:20:55,920 INFO L290 TraceCheckUtils]: 34: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 12:20:55,920 INFO L290 TraceCheckUtils]: 35: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 12:20:55,920 INFO L290 TraceCheckUtils]: 36: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 12:20:55,920 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1324#true} {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:55,921 INFO L290 TraceCheckUtils]: 38: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:55,921 INFO L290 TraceCheckUtils]: 39: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:55,921 INFO L290 TraceCheckUtils]: 40: Hoare triple {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:55,922 INFO L272 TraceCheckUtils]: 41: Hoare triple {1410#(and (= main_~r~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)); {1324#true} is VALID [2022-04-28 12:20:55,922 INFO L290 TraceCheckUtils]: 42: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-28 12:20:55,922 INFO L290 TraceCheckUtils]: 43: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-28 12:20:55,922 INFO L290 TraceCheckUtils]: 44: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-28 12:20:55,922 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1324#true} {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {1410#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:20:55,939 INFO L272 TraceCheckUtils]: 46: Hoare triple {1410#(and (= main_~r~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)); {1468#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:20:55,941 INFO L290 TraceCheckUtils]: 47: Hoare triple {1468#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1472#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:55,941 INFO L290 TraceCheckUtils]: 48: Hoare triple {1472#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1325#false} is VALID [2022-04-28 12:20:55,941 INFO L290 TraceCheckUtils]: 49: Hoare triple {1325#false} assume !false; {1325#false} is VALID [2022-04-28 12:20:55,941 INFO L134 CoverageAnalysis]: Checked inductivity of 62 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 60 trivial. 0 not checked. [2022-04-28 12:20:55,941 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:20:55,942 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:20:55,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1038380963] [2022-04-28 12:20:55,942 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:20:55,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1476498687] [2022-04-28 12:20:55,942 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1476498687] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:55,942 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:55,942 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:20:55,942 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:20:55,942 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1594753040] [2022-04-28 12:20:55,943 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1594753040] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:20:55,943 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:20:55,943 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:20:55,943 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1556351259] [2022-04-28 12:20:55,943 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:20:55,943 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 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 50 [2022-04-28 12:20:55,943 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:20:55,944 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 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 12:20:55,967 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 12:20:55,967 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:20:55,967 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:55,968 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:20:55,968 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:20:55,968 INFO L87 Difference]: Start difference. First operand 43 states and 54 transitions. Second operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 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 12:20:56,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:56,110 INFO L93 Difference]: Finished difference Result 58 states and 74 transitions. [2022-04-28 12:20:56,110 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:20:56,112 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 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 50 [2022-04-28 12:20:56,113 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:20:56,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 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 12:20:56,115 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:20:56,115 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 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 12:20:56,117 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-28 12:20:56,117 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-28 12:20:56,165 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 12:20:56,168 INFO L225 Difference]: With dead ends: 58 [2022-04-28 12:20:56,168 INFO L226 Difference]: Without dead ends: 56 [2022-04-28 12:20:56,168 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 50 GetRequests, 46 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 12:20:56,169 INFO L413 NwaCegarLoop]: 48 mSDtfsCounter, 7 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:20:56,170 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 161 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:20:56,172 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-28 12:20:56,210 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 55. [2022-04-28 12:20:56,210 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:20:56,211 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:20:56,211 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:20:56,211 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:20:56,214 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:56,214 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-28 12:20:56,214 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-28 12:20:56,214 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:56,215 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:56,217 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 56 states. [2022-04-28 12:20:56,218 INFO L87 Difference]: Start difference. First operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 56 states. [2022-04-28 12:20:56,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:20:56,221 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-28 12:20:56,221 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-28 12:20:56,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:20:56,221 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:20:56,221 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:20:56,221 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:20:56,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 29 states have (on average 1.1379310344827587) internal successors, (33), 32 states have internal predecessors, (33), 20 states have call successors, (20), 6 states have call predecessors, (20), 5 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:20:56,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 71 transitions. [2022-04-28 12:20:56,225 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 71 transitions. Word has length 50 [2022-04-28 12:20:56,225 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:20:56,225 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 71 transitions. [2022-04-28 12:20:56,225 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 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 12:20:56,225 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 71 transitions. [2022-04-28 12:20:56,297 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:20:56,297 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 71 transitions. [2022-04-28 12:20:56,298 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 12:20:56,298 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:20:56,298 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 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, 1, 1] [2022-04-28 12:20:56,316 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 12:20:56,511 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 12:20:56,511 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:20:56,512 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:20:56,512 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 1 times [2022-04-28 12:20:56,512 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:20:56,512 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [389531844] [2022-04-28 12:20:56,512 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:20:56,512 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 2 times [2022-04-28 12:20:56,512 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:20:56,513 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1495596041] [2022-04-28 12:20:56,513 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:20:56,513 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:20:56,525 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:20:56,525 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1671997048] [2022-04-28 12:20:56,525 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:20:56,525 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:20:56,525 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:20:56,540 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 12:20:56,552 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 12:20:56,588 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:20:56,588 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:20:56,589 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 12:20:56,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:20:56,604 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:20:57,114 INFO L272 TraceCheckUtils]: 0: Hoare triple {1818#true} call ULTIMATE.init(); {1818#true} is VALID [2022-04-28 12:20:57,115 INFO L290 TraceCheckUtils]: 1: Hoare triple {1818#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); {1818#true} is VALID [2022-04-28 12:20:57,115 INFO L290 TraceCheckUtils]: 2: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 12:20:57,115 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1818#true} {1818#true} #103#return; {1818#true} is VALID [2022-04-28 12:20:57,115 INFO L272 TraceCheckUtils]: 4: Hoare triple {1818#true} call #t~ret6 := main(); {1818#true} is VALID [2022-04-28 12:20:57,115 INFO L290 TraceCheckUtils]: 5: Hoare triple {1818#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {1818#true} is VALID [2022-04-28 12:20:57,115 INFO L272 TraceCheckUtils]: 6: Hoare triple {1818#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {1818#true} is VALID [2022-04-28 12:20:57,115 INFO L290 TraceCheckUtils]: 7: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-28 12:20:57,115 INFO L290 TraceCheckUtils]: 8: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-28 12:20:57,115 INFO L290 TraceCheckUtils]: 9: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 12:20:57,116 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1818#true} {1818#true} #79#return; {1818#true} is VALID [2022-04-28 12:20:57,116 INFO L290 TraceCheckUtils]: 11: Hoare triple {1818#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1818#true} is VALID [2022-04-28 12:20:57,116 INFO L272 TraceCheckUtils]: 12: Hoare triple {1818#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {1818#true} is VALID [2022-04-28 12:20:57,126 INFO L290 TraceCheckUtils]: 13: Hoare triple {1818#true} ~cond := #in~cond; {1862#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:20:57,127 INFO L290 TraceCheckUtils]: 14: Hoare triple {1862#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1866#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:57,127 INFO L290 TraceCheckUtils]: 15: Hoare triple {1866#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1866#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:20:57,128 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1866#(not (= |assume_abort_if_not_#in~cond| 0))} {1818#true} #81#return; {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:20:57,128 INFO L272 TraceCheckUtils]: 17: Hoare triple {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1818#true} is VALID [2022-04-28 12:20:57,128 INFO L290 TraceCheckUtils]: 18: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-28 12:20:57,128 INFO L290 TraceCheckUtils]: 19: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-28 12:20:57,128 INFO L290 TraceCheckUtils]: 20: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 12:20:57,128 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1818#true} {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #83#return; {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:20:57,128 INFO L272 TraceCheckUtils]: 22: Hoare triple {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1818#true} is VALID [2022-04-28 12:20:57,129 INFO L290 TraceCheckUtils]: 23: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-28 12:20:57,129 INFO L290 TraceCheckUtils]: 24: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-28 12:20:57,129 INFO L290 TraceCheckUtils]: 25: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 12:20:57,129 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1818#true} {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #85#return; {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:20:57,130 INFO L290 TraceCheckUtils]: 27: Hoare triple {1873#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:20:57,130 INFO L272 TraceCheckUtils]: 28: Hoare triple {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {1818#true} is VALID [2022-04-28 12:20:57,130 INFO L290 TraceCheckUtils]: 29: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-28 12:20:57,130 INFO L290 TraceCheckUtils]: 30: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-28 12:20:57,130 INFO L290 TraceCheckUtils]: 31: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 12:20:57,135 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1818#true} {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #87#return; {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:20:57,136 INFO L272 TraceCheckUtils]: 33: Hoare triple {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {1818#true} is VALID [2022-04-28 12:20:57,136 INFO L290 TraceCheckUtils]: 34: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-28 12:20:57,136 INFO L290 TraceCheckUtils]: 35: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-28 12:20:57,136 INFO L290 TraceCheckUtils]: 36: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 12:20:57,136 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {1818#true} {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #89#return; {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:20:57,137 INFO L290 TraceCheckUtils]: 38: Hoare triple {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-28 12:20:57,137 INFO L290 TraceCheckUtils]: 39: Hoare triple {1907#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-28 12:20:57,138 INFO L290 TraceCheckUtils]: 40: Hoare triple {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} assume !false; {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-28 12:20:57,138 INFO L272 TraceCheckUtils]: 41: Hoare triple {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {1818#true} is VALID [2022-04-28 12:20:57,138 INFO L290 TraceCheckUtils]: 42: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-28 12:20:57,138 INFO L290 TraceCheckUtils]: 43: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-28 12:20:57,138 INFO L290 TraceCheckUtils]: 44: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 12:20:57,138 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {1818#true} {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} #91#return; {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-28 12:20:57,139 INFO L272 TraceCheckUtils]: 46: Hoare triple {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1818#true} is VALID [2022-04-28 12:20:57,139 INFO L290 TraceCheckUtils]: 47: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-28 12:20:57,139 INFO L290 TraceCheckUtils]: 48: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-28 12:20:57,139 INFO L290 TraceCheckUtils]: 49: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-28 12:20:57,139 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {1818#true} {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} #93#return; {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} is VALID [2022-04-28 12:20:57,140 INFO L272 TraceCheckUtils]: 51: Hoare triple {1944#(and (<= 0 main_~y~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (not (= main_~b~0 0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1981#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:20:57,140 INFO L290 TraceCheckUtils]: 52: Hoare triple {1981#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1985#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:20:57,141 INFO L290 TraceCheckUtils]: 53: Hoare triple {1985#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1819#false} is VALID [2022-04-28 12:20:57,141 INFO L290 TraceCheckUtils]: 54: Hoare triple {1819#false} assume !false; {1819#false} is VALID [2022-04-28 12:20:57,143 INFO L134 CoverageAnalysis]: Checked inductivity of 68 backedges. 7 proven. 12 refuted. 0 times theorem prover too weak. 49 trivial. 0 not checked. [2022-04-28 12:20:57,143 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:21:31,029 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:21:31,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1495596041] [2022-04-28 12:21:31,029 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:21:31,029 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1671997048] [2022-04-28 12:21:31,029 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1671997048] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:21:31,029 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:21:31,029 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-28 12:21:31,030 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:21:31,030 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [389531844] [2022-04-28 12:21:31,030 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [389531844] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:21:31,030 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:21:31,030 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 12:21:31,030 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1540550783] [2022-04-28 12:21:31,030 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:21:31,030 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 55 [2022-04-28 12:21:31,031 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:21:31,031 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:21:31,058 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 12:21:31,058 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 12:21:31,058 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:31,058 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 12:21:31,059 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-28 12:21:31,059 INFO L87 Difference]: Start difference. First operand 55 states and 71 transitions. Second operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:21:31,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:31,558 INFO L93 Difference]: Finished difference Result 62 states and 77 transitions. [2022-04-28 12:21:31,558 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:21:31,558 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) Word has length 55 [2022-04-28 12:21:31,558 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:21:31,558 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:21:31,559 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-28 12:21:31,560 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:21:31,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-28 12:21:31,561 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-04-28 12:21:31,609 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 12:21:31,610 INFO L225 Difference]: With dead ends: 62 [2022-04-28 12:21:31,610 INFO L226 Difference]: Without dead ends: 60 [2022-04-28 12:21:31,610 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 61 GetRequests, 50 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:21:31,611 INFO L413 NwaCegarLoop]: 38 mSDtfsCounter, 22 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 156 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 179 SdHoareTripleChecker+Invalid, 163 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 156 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:21:31,611 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [29 Valid, 179 Invalid, 163 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 156 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:21:31,611 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-28 12:21:31,666 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 59. [2022-04-28 12:21:31,666 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:21:31,666 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:21:31,666 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:21:31,667 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:21:31,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:31,669 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-28 12:21:31,669 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-28 12:21:31,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:31,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:31,670 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 60 states. [2022-04-28 12:21:31,670 INFO L87 Difference]: Start difference. First operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 60 states. [2022-04-28 12:21:31,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:21:31,673 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-28 12:21:31,673 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-28 12:21:31,674 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:21:31,674 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:21:31,674 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:21:31,674 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:21:31,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 32 states have (on average 1.125) internal successors, (36), 35 states have internal predecessors, (36), 20 states have call successors, (20), 7 states have call predecessors, (20), 6 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:21:31,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 74 transitions. [2022-04-28 12:21:31,677 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 74 transitions. Word has length 55 [2022-04-28 12:21:31,677 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:21:31,677 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 74 transitions. [2022-04-28 12:21:31,678 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 4 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-28 12:21:31,678 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 74 transitions. [2022-04-28 12:21:31,764 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:21:31,765 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 74 transitions. [2022-04-28 12:21:31,765 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-28 12:21:31,765 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:21:31,765 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 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, 1, 1] [2022-04-28 12:21:31,783 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-28 12:21:31,965 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 12:21:31,966 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:21:31,966 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:21:31,966 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 1 times [2022-04-28 12:21:31,966 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:21:31,966 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1991473011] [2022-04-28 12:21:31,967 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:21:31,967 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 2 times [2022-04-28 12:21:31,967 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:21:31,967 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [241931191] [2022-04-28 12:21:31,967 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:21:31,967 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:21:31,984 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:21:31,984 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [111100225] [2022-04-28 12:21:31,984 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:21:31,984 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:21:31,985 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:21:31,987 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 12:21:32,016 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 12:21:32,042 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:21:32,042 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:21:32,043 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-28 12:21:32,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:21:32,054 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:21:40,165 INFO L272 TraceCheckUtils]: 0: Hoare triple {2373#true} call ULTIMATE.init(); {2373#true} is VALID [2022-04-28 12:21:40,165 INFO L290 TraceCheckUtils]: 1: Hoare triple {2373#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); {2373#true} is VALID [2022-04-28 12:21:40,166 INFO L290 TraceCheckUtils]: 2: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 12:21:40,166 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2373#true} {2373#true} #103#return; {2373#true} is VALID [2022-04-28 12:21:40,166 INFO L272 TraceCheckUtils]: 4: Hoare triple {2373#true} call #t~ret6 := main(); {2373#true} is VALID [2022-04-28 12:21:40,166 INFO L290 TraceCheckUtils]: 5: Hoare triple {2373#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2373#true} is VALID [2022-04-28 12:21:40,166 INFO L272 TraceCheckUtils]: 6: Hoare triple {2373#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2373#true} is VALID [2022-04-28 12:21:40,166 INFO L290 TraceCheckUtils]: 7: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-28 12:21:40,166 INFO L290 TraceCheckUtils]: 8: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-28 12:21:40,166 INFO L290 TraceCheckUtils]: 9: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 12:21:40,166 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2373#true} {2373#true} #79#return; {2373#true} is VALID [2022-04-28 12:21:40,166 INFO L290 TraceCheckUtils]: 11: Hoare triple {2373#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2373#true} is VALID [2022-04-28 12:21:40,166 INFO L272 TraceCheckUtils]: 12: Hoare triple {2373#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2373#true} is VALID [2022-04-28 12:21:40,167 INFO L290 TraceCheckUtils]: 13: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-28 12:21:40,167 INFO L290 TraceCheckUtils]: 14: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-28 12:21:40,167 INFO L290 TraceCheckUtils]: 15: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 12:21:40,167 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2373#true} {2373#true} #81#return; {2373#true} is VALID [2022-04-28 12:21:40,167 INFO L272 TraceCheckUtils]: 17: Hoare triple {2373#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2373#true} is VALID [2022-04-28 12:21:40,167 INFO L290 TraceCheckUtils]: 18: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-28 12:21:40,167 INFO L290 TraceCheckUtils]: 19: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-28 12:21:40,167 INFO L290 TraceCheckUtils]: 20: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 12:21:40,167 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2373#true} {2373#true} #83#return; {2373#true} is VALID [2022-04-28 12:21:40,167 INFO L272 TraceCheckUtils]: 22: Hoare triple {2373#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2373#true} is VALID [2022-04-28 12:21:40,168 INFO L290 TraceCheckUtils]: 23: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-28 12:21:40,168 INFO L290 TraceCheckUtils]: 24: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-28 12:21:40,168 INFO L290 TraceCheckUtils]: 25: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 12:21:40,168 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2373#true} {2373#true} #85#return; {2373#true} is VALID [2022-04-28 12:21:40,168 INFO L290 TraceCheckUtils]: 27: Hoare triple {2373#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:21:40,168 INFO L272 TraceCheckUtils]: 28: Hoare triple {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2373#true} is VALID [2022-04-28 12:21:40,169 INFO L290 TraceCheckUtils]: 29: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-28 12:21:40,169 INFO L290 TraceCheckUtils]: 30: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-28 12:21:40,169 INFO L290 TraceCheckUtils]: 31: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 12:21:40,169 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2373#true} {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #87#return; {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:21:40,169 INFO L272 TraceCheckUtils]: 33: Hoare triple {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2373#true} is VALID [2022-04-28 12:21:40,170 INFO L290 TraceCheckUtils]: 34: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-28 12:21:40,170 INFO L290 TraceCheckUtils]: 35: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-28 12:21:40,170 INFO L290 TraceCheckUtils]: 36: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 12:21:40,170 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2373#true} {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #89#return; {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:21:40,171 INFO L290 TraceCheckUtils]: 38: Hoare triple {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !false; {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:21:40,171 INFO L290 TraceCheckUtils]: 39: Hoare triple {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:21:40,171 INFO L290 TraceCheckUtils]: 40: Hoare triple {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} assume !false; {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:21:40,172 INFO L272 TraceCheckUtils]: 41: Hoare triple {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2373#true} is VALID [2022-04-28 12:21:40,172 INFO L290 TraceCheckUtils]: 42: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-28 12:21:40,172 INFO L290 TraceCheckUtils]: 43: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-28 12:21:40,172 INFO L290 TraceCheckUtils]: 44: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-28 12:21:40,172 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2373#true} {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #91#return; {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:21:40,173 INFO L272 TraceCheckUtils]: 46: Hoare triple {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2373#true} is VALID [2022-04-28 12:21:40,173 INFO L290 TraceCheckUtils]: 47: Hoare triple {2373#true} ~cond := #in~cond; {2520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:40,173 INFO L290 TraceCheckUtils]: 48: Hoare triple {2520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:40,174 INFO L290 TraceCheckUtils]: 49: Hoare triple {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:40,174 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #93#return; {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:21:40,174 INFO L272 TraceCheckUtils]: 51: Hoare triple {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2373#true} is VALID [2022-04-28 12:21:40,175 INFO L290 TraceCheckUtils]: 52: Hoare triple {2373#true} ~cond := #in~cond; {2520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:40,175 INFO L290 TraceCheckUtils]: 53: Hoare triple {2520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:40,175 INFO L290 TraceCheckUtils]: 54: Hoare triple {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:21:40,176 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2524#(not (= |__VERIFIER_assert_#in~cond| 0))} {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} #95#return; {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} is VALID [2022-04-28 12:21:40,177 INFO L272 TraceCheckUtils]: 56: Hoare triple {2459#(and (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {2549#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:21:40,177 INFO L290 TraceCheckUtils]: 57: Hoare triple {2549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:21:40,177 INFO L290 TraceCheckUtils]: 58: Hoare triple {2553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2374#false} is VALID [2022-04-28 12:21:40,177 INFO L290 TraceCheckUtils]: 59: Hoare triple {2374#false} assume !false; {2374#false} is VALID [2022-04-28 12:21:40,178 INFO L134 CoverageAnalysis]: Checked inductivity of 78 backedges. 10 proven. 2 refuted. 0 times theorem prover too weak. 66 trivial. 0 not checked. [2022-04-28 12:21:40,178 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:22:19,789 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:22:19,790 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [241931191] [2022-04-28 12:22:19,790 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:22:19,790 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [111100225] [2022-04-28 12:22:19,790 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [111100225] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:22:19,790 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:22:19,790 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2022-04-28 12:22:19,790 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:22:19,790 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1991473011] [2022-04-28 12:22:19,791 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1991473011] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:22:19,791 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:22:19,791 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:22:19,791 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1556469531] [2022-04-28 12:22:19,791 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:22:19,791 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 60 [2022-04-28 12:22:19,791 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:22:19,792 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 12:22:19,822 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:19,822 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:22:19,822 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:19,823 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:22:19,823 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:22:19,823 INFO L87 Difference]: Start difference. First operand 59 states and 74 transitions. Second operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 12:22:20,196 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:20,196 INFO L93 Difference]: Finished difference Result 66 states and 80 transitions. [2022-04-28 12:22:20,196 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-28 12:22:20,196 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 60 [2022-04-28 12:22:20,197 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:22:20,197 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 12:22:20,198 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-28 12:22:20,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 12:22:20,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-28 12:22:20,199 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2022-04-28 12:22:20,247 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 12:22:20,248 INFO L225 Difference]: With dead ends: 66 [2022-04-28 12:22:20,248 INFO L226 Difference]: Without dead ends: 64 [2022-04-28 12:22:20,248 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 56 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2022-04-28 12:22:20,249 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 11 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 128 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 164 SdHoareTripleChecker+Invalid, 130 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 128 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:22:20,249 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [12 Valid, 164 Invalid, 130 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 128 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:22:20,249 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-28 12:22:20,305 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 63. [2022-04-28 12:22:20,305 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:22:20,305 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:22:20,305 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:22:20,305 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:22:20,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:20,308 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-28 12:22:20,308 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-28 12:22:20,308 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:20,308 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:20,308 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 64 states. [2022-04-28 12:22:20,308 INFO L87 Difference]: Start difference. First operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) Second operand 64 states. [2022-04-28 12:22:20,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:20,310 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-28 12:22:20,310 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-28 12:22:20,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:20,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:20,311 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:22:20,311 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:22:20,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 35 states have (on average 1.1142857142857143) internal successors, (39), 38 states have internal predecessors, (39), 20 states have call successors, (20), 8 states have call predecessors, (20), 7 states have return successors, (18), 16 states have call predecessors, (18), 18 states have call successors, (18) [2022-04-28 12:22:20,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-28 12:22:20,313 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 60 [2022-04-28 12:22:20,313 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:22:20,313 INFO L495 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-28 12:22:20,313 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 2 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 12:22:20,313 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-28 12:22:20,397 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 12:22:20,397 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-28 12:22:20,397 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-28 12:22:20,397 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:22:20,397 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 5, 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] [2022-04-28 12:22:20,413 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-28 12:22:20,598 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 12:22:20,598 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:22:20,598 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:22:20,599 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 1 times [2022-04-28 12:22:20,599 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:20,599 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [817425467] [2022-04-28 12:22:20,599 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:22:20,599 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 2 times [2022-04-28 12:22:20,599 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:22:20,599 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [201743171] [2022-04-28 12:22:20,599 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:22:20,599 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:22:20,612 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:22:20,612 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2021943139] [2022-04-28 12:22:20,612 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:22:20,612 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:22:20,612 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:22:20,628 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 12:22:20,628 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 12:22:20,670 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:22:20,670 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:22:20,670 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-28 12:22:20,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:22:20,682 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:22:20,883 INFO L272 TraceCheckUtils]: 0: Hoare triple {2966#true} call ULTIMATE.init(); {2966#true} is VALID [2022-04-28 12:22:20,883 INFO L290 TraceCheckUtils]: 1: Hoare triple {2966#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); {2966#true} is VALID [2022-04-28 12:22:20,883 INFO L290 TraceCheckUtils]: 2: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:20,883 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2966#true} {2966#true} #103#return; {2966#true} is VALID [2022-04-28 12:22:20,884 INFO L272 TraceCheckUtils]: 4: Hoare triple {2966#true} call #t~ret6 := main(); {2966#true} is VALID [2022-04-28 12:22:20,884 INFO L290 TraceCheckUtils]: 5: Hoare triple {2966#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2966#true} is VALID [2022-04-28 12:22:20,884 INFO L272 TraceCheckUtils]: 6: Hoare triple {2966#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:20,884 INFO L290 TraceCheckUtils]: 7: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:20,884 INFO L290 TraceCheckUtils]: 8: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:20,884 INFO L290 TraceCheckUtils]: 9: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:20,884 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2966#true} {2966#true} #79#return; {2966#true} is VALID [2022-04-28 12:22:20,884 INFO L290 TraceCheckUtils]: 11: Hoare triple {2966#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2966#true} is VALID [2022-04-28 12:22:20,884 INFO L272 TraceCheckUtils]: 12: Hoare triple {2966#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:20,884 INFO L290 TraceCheckUtils]: 13: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:20,885 INFO L290 TraceCheckUtils]: 14: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:20,885 INFO L290 TraceCheckUtils]: 15: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:20,885 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2966#true} {2966#true} #81#return; {2966#true} is VALID [2022-04-28 12:22:20,885 INFO L272 TraceCheckUtils]: 17: Hoare triple {2966#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:20,885 INFO L290 TraceCheckUtils]: 18: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:20,885 INFO L290 TraceCheckUtils]: 19: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:20,885 INFO L290 TraceCheckUtils]: 20: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:20,885 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2966#true} {2966#true} #83#return; {2966#true} is VALID [2022-04-28 12:22:20,885 INFO L272 TraceCheckUtils]: 22: Hoare triple {2966#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:20,885 INFO L290 TraceCheckUtils]: 23: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:20,885 INFO L290 TraceCheckUtils]: 24: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:20,885 INFO L290 TraceCheckUtils]: 25: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:20,886 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2966#true} {2966#true} #85#return; {2966#true} is VALID [2022-04-28 12:22:20,886 INFO L290 TraceCheckUtils]: 27: Hoare triple {2966#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2966#true} is VALID [2022-04-28 12:22:20,886 INFO L272 TraceCheckUtils]: 28: Hoare triple {2966#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:20,886 INFO L290 TraceCheckUtils]: 29: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:20,886 INFO L290 TraceCheckUtils]: 30: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:20,886 INFO L290 TraceCheckUtils]: 31: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:20,886 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2966#true} {2966#true} #87#return; {2966#true} is VALID [2022-04-28 12:22:20,886 INFO L272 TraceCheckUtils]: 33: Hoare triple {2966#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:20,886 INFO L290 TraceCheckUtils]: 34: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:20,886 INFO L290 TraceCheckUtils]: 35: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:20,887 INFO L290 TraceCheckUtils]: 36: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:20,887 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2966#true} {2966#true} #89#return; {2966#true} is VALID [2022-04-28 12:22:20,887 INFO L290 TraceCheckUtils]: 38: Hoare triple {2966#true} assume !false; {2966#true} is VALID [2022-04-28 12:22:20,889 INFO L290 TraceCheckUtils]: 39: Hoare triple {2966#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:22:20,889 INFO L290 TraceCheckUtils]: 40: Hoare triple {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !false; {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:22:20,889 INFO L272 TraceCheckUtils]: 41: Hoare triple {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:20,889 INFO L290 TraceCheckUtils]: 42: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:20,889 INFO L290 TraceCheckUtils]: 43: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:20,890 INFO L290 TraceCheckUtils]: 44: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:20,890 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2966#true} {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #91#return; {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:22:20,890 INFO L272 TraceCheckUtils]: 46: Hoare triple {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:20,890 INFO L290 TraceCheckUtils]: 47: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:20,890 INFO L290 TraceCheckUtils]: 48: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:20,891 INFO L290 TraceCheckUtils]: 49: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:20,891 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2966#true} {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #93#return; {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:22:20,891 INFO L272 TraceCheckUtils]: 51: Hoare triple {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:20,891 INFO L290 TraceCheckUtils]: 52: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:20,891 INFO L290 TraceCheckUtils]: 53: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:20,892 INFO L290 TraceCheckUtils]: 54: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:20,892 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2966#true} {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #95#return; {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:22:20,892 INFO L272 TraceCheckUtils]: 56: Hoare triple {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:20,893 INFO L290 TraceCheckUtils]: 57: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:20,893 INFO L290 TraceCheckUtils]: 58: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:20,893 INFO L290 TraceCheckUtils]: 59: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:20,894 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {2966#true} {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} #97#return; {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} is VALID [2022-04-28 12:22:20,894 INFO L290 TraceCheckUtils]: 61: Hoare triple {3088#(and (= main_~c~0 main_~a~0) (= main_~k~0 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {3155#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0))} is VALID [2022-04-28 12:22:20,895 INFO L290 TraceCheckUtils]: 62: Hoare triple {3155#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0))} assume !false; {3155#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0))} is VALID [2022-04-28 12:22:20,895 INFO L272 TraceCheckUtils]: 63: Hoare triple {3155#(and (= main_~a~0 (+ main_~c~0 main_~b~0)) (= (+ (- 1) main_~k~0) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3162#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:22:20,896 INFO L290 TraceCheckUtils]: 64: Hoare triple {3162#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3166#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:20,896 INFO L290 TraceCheckUtils]: 65: Hoare triple {3166#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2967#false} is VALID [2022-04-28 12:22:20,896 INFO L290 TraceCheckUtils]: 66: Hoare triple {2967#false} assume !false; {2967#false} is VALID [2022-04-28 12:22:20,896 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 8 proven. 2 refuted. 0 times theorem prover too weak. 84 trivial. 0 not checked. [2022-04-28 12:22:20,896 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:22:21,111 INFO L290 TraceCheckUtils]: 66: Hoare triple {2967#false} assume !false; {2967#false} is VALID [2022-04-28 12:22:21,113 INFO L290 TraceCheckUtils]: 65: Hoare triple {3166#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2967#false} is VALID [2022-04-28 12:22:21,113 INFO L290 TraceCheckUtils]: 64: Hoare triple {3162#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3166#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:21,113 INFO L272 TraceCheckUtils]: 63: Hoare triple {3182#(= 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)); {3162#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:22:21,114 INFO L290 TraceCheckUtils]: 62: Hoare triple {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:22:21,115 INFO L290 TraceCheckUtils]: 61: Hoare triple {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:22:21,116 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {2966#true} {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #97#return; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:22:21,116 INFO L290 TraceCheckUtils]: 59: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:21,116 INFO L290 TraceCheckUtils]: 58: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:21,116 INFO L290 TraceCheckUtils]: 57: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:21,116 INFO L272 TraceCheckUtils]: 56: Hoare triple {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:21,117 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {2966#true} {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #95#return; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:22:21,117 INFO L290 TraceCheckUtils]: 54: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:21,117 INFO L290 TraceCheckUtils]: 53: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:21,117 INFO L290 TraceCheckUtils]: 52: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:21,117 INFO L272 TraceCheckUtils]: 51: Hoare triple {3182#(= 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)); {2966#true} is VALID [2022-04-28 12:22:21,118 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {2966#true} {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #93#return; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:22:21,118 INFO L290 TraceCheckUtils]: 49: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:21,118 INFO L290 TraceCheckUtils]: 48: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:21,118 INFO L290 TraceCheckUtils]: 47: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:21,118 INFO L272 TraceCheckUtils]: 46: Hoare triple {3182#(= 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)); {2966#true} is VALID [2022-04-28 12:22:21,121 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {2966#true} {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} #91#return; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:22:21,122 INFO L290 TraceCheckUtils]: 44: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:21,122 INFO L290 TraceCheckUtils]: 43: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:21,122 INFO L290 TraceCheckUtils]: 42: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:21,122 INFO L272 TraceCheckUtils]: 41: Hoare triple {3182#(= 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)); {2966#true} is VALID [2022-04-28 12:22:21,122 INFO L290 TraceCheckUtils]: 40: Hoare triple {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} assume !false; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:22:21,122 INFO L290 TraceCheckUtils]: 39: Hoare triple {2966#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3182#(= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))} is VALID [2022-04-28 12:22:21,123 INFO L290 TraceCheckUtils]: 38: Hoare triple {2966#true} assume !false; {2966#true} is VALID [2022-04-28 12:22:21,123 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2966#true} {2966#true} #89#return; {2966#true} is VALID [2022-04-28 12:22:21,123 INFO L290 TraceCheckUtils]: 36: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:21,123 INFO L290 TraceCheckUtils]: 35: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:21,123 INFO L290 TraceCheckUtils]: 34: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:21,123 INFO L272 TraceCheckUtils]: 33: Hoare triple {2966#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:21,123 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2966#true} {2966#true} #87#return; {2966#true} is VALID [2022-04-28 12:22:21,123 INFO L290 TraceCheckUtils]: 31: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:21,123 INFO L290 TraceCheckUtils]: 30: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:21,123 INFO L290 TraceCheckUtils]: 29: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:21,123 INFO L272 TraceCheckUtils]: 28: Hoare triple {2966#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:21,123 INFO L290 TraceCheckUtils]: 27: Hoare triple {2966#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {2966#true} is VALID [2022-04-28 12:22:21,124 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2966#true} {2966#true} #85#return; {2966#true} is VALID [2022-04-28 12:22:21,124 INFO L290 TraceCheckUtils]: 25: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:21,124 INFO L290 TraceCheckUtils]: 24: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:21,124 INFO L290 TraceCheckUtils]: 23: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:21,124 INFO L272 TraceCheckUtils]: 22: Hoare triple {2966#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:21,124 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2966#true} {2966#true} #83#return; {2966#true} is VALID [2022-04-28 12:22:21,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:21,124 INFO L290 TraceCheckUtils]: 19: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:21,124 INFO L290 TraceCheckUtils]: 18: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:21,124 INFO L272 TraceCheckUtils]: 17: Hoare triple {2966#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:21,124 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2966#true} {2966#true} #81#return; {2966#true} is VALID [2022-04-28 12:22:21,124 INFO L290 TraceCheckUtils]: 15: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:21,125 INFO L290 TraceCheckUtils]: 14: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:21,125 INFO L290 TraceCheckUtils]: 13: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:21,125 INFO L272 TraceCheckUtils]: 12: Hoare triple {2966#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:21,125 INFO L290 TraceCheckUtils]: 11: Hoare triple {2966#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2966#true} is VALID [2022-04-28 12:22:21,125 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2966#true} {2966#true} #79#return; {2966#true} is VALID [2022-04-28 12:22:21,125 INFO L290 TraceCheckUtils]: 9: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:21,125 INFO L290 TraceCheckUtils]: 8: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-28 12:22:21,125 INFO L290 TraceCheckUtils]: 7: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-28 12:22:21,125 INFO L272 TraceCheckUtils]: 6: Hoare triple {2966#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {2966#true} is VALID [2022-04-28 12:22:21,125 INFO L290 TraceCheckUtils]: 5: Hoare triple {2966#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {2966#true} is VALID [2022-04-28 12:22:21,125 INFO L272 TraceCheckUtils]: 4: Hoare triple {2966#true} call #t~ret6 := main(); {2966#true} is VALID [2022-04-28 12:22:21,125 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2966#true} {2966#true} #103#return; {2966#true} is VALID [2022-04-28 12:22:21,125 INFO L290 TraceCheckUtils]: 2: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-28 12:22:21,126 INFO L290 TraceCheckUtils]: 1: Hoare triple {2966#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); {2966#true} is VALID [2022-04-28 12:22:21,126 INFO L272 TraceCheckUtils]: 0: Hoare triple {2966#true} call ULTIMATE.init(); {2966#true} is VALID [2022-04-28 12:22:21,126 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 86 trivial. 0 not checked. [2022-04-28 12:22:21,126 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:22:21,126 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [201743171] [2022-04-28 12:22:21,126 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:22:21,126 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2021943139] [2022-04-28 12:22:21,126 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2021943139] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 12:22:21,126 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:22:21,126 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-28 12:22:21,127 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:22:21,127 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [817425467] [2022-04-28 12:22:21,127 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [817425467] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:22:21,127 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:22:21,127 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:22:21,127 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1777284124] [2022-04-28 12:22:21,127 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:22:21,127 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 67 [2022-04-28 12:22:21,128 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:22:21,128 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-28 12:22:21,154 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:21,155 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:22:21,155 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:21,155 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:22:21,155 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-28 12:22:21,155 INFO L87 Difference]: Start difference. First operand 63 states and 77 transitions. Second operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-28 12:22:21,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:21,325 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-28 12:22:21,325 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 12:22:21,325 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) Word has length 67 [2022-04-28 12:22:21,325 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:22:21,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-28 12:22:21,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-28 12:22:21,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-28 12:22:21,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-28 12:22:21,327 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-28 12:22:21,360 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 12:22:21,361 INFO L225 Difference]: With dead ends: 69 [2022-04-28 12:22:21,361 INFO L226 Difference]: Without dead ends: 67 [2022-04-28 12:22:21,361 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 126 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 12:22:21,362 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 6 mSDsluCounter, 97 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 6 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 38 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-28 12:22:21,362 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [6 Valid, 137 Invalid, 38 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-28 12:22:21,362 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-28 12:22:21,413 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 59. [2022-04-28 12:22:21,413 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:22:21,413 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:22:21,414 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:22:21,414 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:22:21,416 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:21,416 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-28 12:22:21,416 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-28 12:22:21,417 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:21,417 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:21,417 INFO L74 IsIncluded]: Start isIncluded. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-28 12:22:21,417 INFO L87 Difference]: Start difference. First operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) Second operand 67 states. [2022-04-28 12:22:21,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:21,420 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-28 12:22:21,420 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-28 12:22:21,420 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:21,420 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:21,420 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:22:21,420 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:22:21,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 59 states, 33 states have (on average 1.121212121212121) internal successors, (37), 34 states have internal predecessors, (37), 18 states have call successors, (18), 8 states have call predecessors, (18), 7 states have return successors, (16), 16 states have call predecessors, (16), 16 states have call successors, (16) [2022-04-28 12:22:21,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 71 transitions. [2022-04-28 12:22:21,423 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 71 transitions. Word has length 67 [2022-04-28 12:22:21,423 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:22:21,423 INFO L495 AbstractCegarLoop]: Abstraction has 59 states and 71 transitions. [2022-04-28 12:22:21,423 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.6) internal successors, (18), 4 states have internal predecessors, (18), 2 states have call successors, (13), 2 states have call predecessors, (13), 1 states have return successors, (11), 2 states have call predecessors, (11), 2 states have call successors, (11) [2022-04-28 12:22:21,423 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 71 transitions. [2022-04-28 12:22:21,517 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:21,518 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 71 transitions. [2022-04-28 12:22:21,520 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-28 12:22:21,521 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:22:21,521 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 5, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 12:22:21,538 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 12:22:21,739 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 12:22:21,740 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:22:21,740 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:22:21,740 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 1 times [2022-04-28 12:22:21,740 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:21,740 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1103279883] [2022-04-28 12:22:21,741 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:22:21,741 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 2 times [2022-04-28 12:22:21,741 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:22:21,741 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1676450654] [2022-04-28 12:22:21,741 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:22:21,741 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:22:21,754 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:22:21,755 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1046817941] [2022-04-28 12:22:21,755 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:22:21,755 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:22:21,755 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:22:21,756 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 12:22:21,762 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 12:22:21,833 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:22:21,834 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:22:21,834 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-28 12:22:21,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:22:21,843 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:22:22,040 INFO L272 TraceCheckUtils]: 0: Hoare triple {3766#true} call ULTIMATE.init(); {3766#true} is VALID [2022-04-28 12:22:22,042 INFO L290 TraceCheckUtils]: 1: Hoare triple {3766#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); {3766#true} is VALID [2022-04-28 12:22:22,042 INFO L290 TraceCheckUtils]: 2: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3766#true} {3766#true} #103#return; {3766#true} is VALID [2022-04-28 12:22:22,043 INFO L272 TraceCheckUtils]: 4: Hoare triple {3766#true} call #t~ret6 := main(); {3766#true} is VALID [2022-04-28 12:22:22,043 INFO L290 TraceCheckUtils]: 5: Hoare triple {3766#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3766#true} is VALID [2022-04-28 12:22:22,043 INFO L272 TraceCheckUtils]: 6: Hoare triple {3766#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,044 INFO L290 TraceCheckUtils]: 7: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,044 INFO L290 TraceCheckUtils]: 8: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,044 INFO L290 TraceCheckUtils]: 9: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,044 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3766#true} {3766#true} #79#return; {3766#true} is VALID [2022-04-28 12:22:22,044 INFO L290 TraceCheckUtils]: 11: Hoare triple {3766#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3766#true} is VALID [2022-04-28 12:22:22,044 INFO L272 TraceCheckUtils]: 12: Hoare triple {3766#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,044 INFO L290 TraceCheckUtils]: 13: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,044 INFO L290 TraceCheckUtils]: 14: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,044 INFO L290 TraceCheckUtils]: 15: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,044 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3766#true} {3766#true} #81#return; {3766#true} is VALID [2022-04-28 12:22:22,044 INFO L272 TraceCheckUtils]: 17: Hoare triple {3766#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,045 INFO L290 TraceCheckUtils]: 18: Hoare triple {3766#true} ~cond := #in~cond; {3825#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:22:22,045 INFO L290 TraceCheckUtils]: 19: Hoare triple {3825#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:22:22,045 INFO L290 TraceCheckUtils]: 20: Hoare triple {3829#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:22:22,046 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3829#(not (= |assume_abort_if_not_#in~cond| 0))} {3766#true} #83#return; {3836#(<= 1 main_~x~0)} is VALID [2022-04-28 12:22:22,046 INFO L272 TraceCheckUtils]: 22: Hoare triple {3836#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,046 INFO L290 TraceCheckUtils]: 23: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,046 INFO L290 TraceCheckUtils]: 24: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,046 INFO L290 TraceCheckUtils]: 25: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,047 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3766#true} {3836#(<= 1 main_~x~0)} #85#return; {3836#(<= 1 main_~x~0)} is VALID [2022-04-28 12:22:22,047 INFO L290 TraceCheckUtils]: 27: Hoare triple {3836#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 12:22:22,047 INFO L272 TraceCheckUtils]: 28: Hoare triple {3855#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,047 INFO L290 TraceCheckUtils]: 29: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,047 INFO L290 TraceCheckUtils]: 30: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,047 INFO L290 TraceCheckUtils]: 31: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,048 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3766#true} {3855#(<= 1 main_~a~0)} #87#return; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 12:22:22,048 INFO L272 TraceCheckUtils]: 33: Hoare triple {3855#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,048 INFO L290 TraceCheckUtils]: 34: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,048 INFO L290 TraceCheckUtils]: 35: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,048 INFO L290 TraceCheckUtils]: 36: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,048 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3766#true} {3855#(<= 1 main_~a~0)} #89#return; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 12:22:22,049 INFO L290 TraceCheckUtils]: 38: Hoare triple {3855#(<= 1 main_~a~0)} assume !false; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 12:22:22,049 INFO L290 TraceCheckUtils]: 39: Hoare triple {3855#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 12:22:22,049 INFO L290 TraceCheckUtils]: 40: Hoare triple {3892#(<= 1 main_~c~0)} assume !false; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 12:22:22,049 INFO L272 TraceCheckUtils]: 41: Hoare triple {3892#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,049 INFO L290 TraceCheckUtils]: 42: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,049 INFO L290 TraceCheckUtils]: 43: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,050 INFO L290 TraceCheckUtils]: 44: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,050 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #91#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 12:22:22,050 INFO L272 TraceCheckUtils]: 46: Hoare triple {3892#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,050 INFO L290 TraceCheckUtils]: 47: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,050 INFO L290 TraceCheckUtils]: 48: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,050 INFO L290 TraceCheckUtils]: 49: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,051 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #93#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 12:22:22,051 INFO L272 TraceCheckUtils]: 51: Hoare triple {3892#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,051 INFO L290 TraceCheckUtils]: 52: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,051 INFO L290 TraceCheckUtils]: 53: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,051 INFO L290 TraceCheckUtils]: 54: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,051 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #95#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 12:22:22,052 INFO L272 TraceCheckUtils]: 56: Hoare triple {3892#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,052 INFO L290 TraceCheckUtils]: 57: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,052 INFO L290 TraceCheckUtils]: 58: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,052 INFO L290 TraceCheckUtils]: 59: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,052 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #97#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 12:22:22,053 INFO L290 TraceCheckUtils]: 61: Hoare triple {3892#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 12:22:22,053 INFO L290 TraceCheckUtils]: 62: Hoare triple {3892#(<= 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; {3962#(<= 1 main_~b~0)} is VALID [2022-04-28 12:22:22,053 INFO L290 TraceCheckUtils]: 63: Hoare triple {3962#(<= 1 main_~b~0)} assume !false; {3962#(<= 1 main_~b~0)} is VALID [2022-04-28 12:22:22,054 INFO L290 TraceCheckUtils]: 64: Hoare triple {3962#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3767#false} is VALID [2022-04-28 12:22:22,054 INFO L272 TraceCheckUtils]: 65: Hoare triple {3767#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3767#false} is VALID [2022-04-28 12:22:22,054 INFO L290 TraceCheckUtils]: 66: Hoare triple {3767#false} ~cond := #in~cond; {3767#false} is VALID [2022-04-28 12:22:22,054 INFO L290 TraceCheckUtils]: 67: Hoare triple {3767#false} assume 0 == ~cond; {3767#false} is VALID [2022-04-28 12:22:22,054 INFO L290 TraceCheckUtils]: 68: Hoare triple {3767#false} assume !false; {3767#false} is VALID [2022-04-28 12:22:22,054 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-28 12:22:22,054 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:22:22,266 INFO L290 TraceCheckUtils]: 68: Hoare triple {3767#false} assume !false; {3767#false} is VALID [2022-04-28 12:22:22,267 INFO L290 TraceCheckUtils]: 67: Hoare triple {3767#false} assume 0 == ~cond; {3767#false} is VALID [2022-04-28 12:22:22,267 INFO L290 TraceCheckUtils]: 66: Hoare triple {3767#false} ~cond := #in~cond; {3767#false} is VALID [2022-04-28 12:22:22,267 INFO L272 TraceCheckUtils]: 65: Hoare triple {3767#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {3767#false} is VALID [2022-04-28 12:22:22,267 INFO L290 TraceCheckUtils]: 64: Hoare triple {3962#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3767#false} is VALID [2022-04-28 12:22:22,268 INFO L290 TraceCheckUtils]: 63: Hoare triple {3962#(<= 1 main_~b~0)} assume !false; {3962#(<= 1 main_~b~0)} is VALID [2022-04-28 12:22:22,268 INFO L290 TraceCheckUtils]: 62: Hoare triple {3892#(<= 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; {3962#(<= 1 main_~b~0)} is VALID [2022-04-28 12:22:22,268 INFO L290 TraceCheckUtils]: 61: Hoare triple {3892#(<= 1 main_~c~0)} assume !(~c~0 >= ~b~0); {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 12:22:22,269 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #97#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 12:22:22,269 INFO L290 TraceCheckUtils]: 59: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,269 INFO L290 TraceCheckUtils]: 58: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,269 INFO L290 TraceCheckUtils]: 57: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,269 INFO L272 TraceCheckUtils]: 56: Hoare triple {3892#(<= 1 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,270 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #95#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 12:22:22,270 INFO L290 TraceCheckUtils]: 54: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,270 INFO L290 TraceCheckUtils]: 53: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,270 INFO L290 TraceCheckUtils]: 52: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,270 INFO L272 TraceCheckUtils]: 51: Hoare triple {3892#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,270 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #93#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 12:22:22,270 INFO L290 TraceCheckUtils]: 49: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,270 INFO L290 TraceCheckUtils]: 48: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,270 INFO L290 TraceCheckUtils]: 47: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,271 INFO L272 TraceCheckUtils]: 46: Hoare triple {3892#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,271 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #91#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 12:22:22,271 INFO L290 TraceCheckUtils]: 44: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,271 INFO L290 TraceCheckUtils]: 43: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,271 INFO L290 TraceCheckUtils]: 42: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,271 INFO L272 TraceCheckUtils]: 41: Hoare triple {3892#(<= 1 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,271 INFO L290 TraceCheckUtils]: 40: Hoare triple {3892#(<= 1 main_~c~0)} assume !false; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 12:22:22,272 INFO L290 TraceCheckUtils]: 39: Hoare triple {3855#(<= 1 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {3892#(<= 1 main_~c~0)} is VALID [2022-04-28 12:22:22,273 INFO L290 TraceCheckUtils]: 38: Hoare triple {3855#(<= 1 main_~a~0)} assume !false; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 12:22:22,273 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3766#true} {3855#(<= 1 main_~a~0)} #89#return; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 12:22:22,282 INFO L290 TraceCheckUtils]: 36: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,282 INFO L290 TraceCheckUtils]: 35: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,282 INFO L290 TraceCheckUtils]: 34: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,282 INFO L272 TraceCheckUtils]: 33: Hoare triple {3855#(<= 1 main_~a~0)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,283 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3766#true} {3855#(<= 1 main_~a~0)} #87#return; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 12:22:22,283 INFO L290 TraceCheckUtils]: 31: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,283 INFO L290 TraceCheckUtils]: 30: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,283 INFO L290 TraceCheckUtils]: 29: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,283 INFO L272 TraceCheckUtils]: 28: Hoare triple {3855#(<= 1 main_~a~0)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,284 INFO L290 TraceCheckUtils]: 27: Hoare triple {3836#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {3855#(<= 1 main_~a~0)} is VALID [2022-04-28 12:22:22,284 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3766#true} {3836#(<= 1 main_~x~0)} #85#return; {3836#(<= 1 main_~x~0)} is VALID [2022-04-28 12:22:22,284 INFO L290 TraceCheckUtils]: 25: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,284 INFO L290 TraceCheckUtils]: 24: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,284 INFO L290 TraceCheckUtils]: 23: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,284 INFO L272 TraceCheckUtils]: 22: Hoare triple {3836#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,291 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {3829#(not (= |assume_abort_if_not_#in~cond| 0))} {3766#true} #83#return; {3836#(<= 1 main_~x~0)} is VALID [2022-04-28 12:22:22,291 INFO L290 TraceCheckUtils]: 20: Hoare triple {3829#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:22:22,292 INFO L290 TraceCheckUtils]: 19: Hoare triple {4131#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {3829#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:22:22,292 INFO L290 TraceCheckUtils]: 18: Hoare triple {3766#true} ~cond := #in~cond; {4131#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:22:22,292 INFO L272 TraceCheckUtils]: 17: Hoare triple {3766#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,292 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3766#true} {3766#true} #81#return; {3766#true} is VALID [2022-04-28 12:22:22,292 INFO L290 TraceCheckUtils]: 15: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,292 INFO L290 TraceCheckUtils]: 14: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,292 INFO L290 TraceCheckUtils]: 13: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,292 INFO L272 TraceCheckUtils]: 12: Hoare triple {3766#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,292 INFO L290 TraceCheckUtils]: 11: Hoare triple {3766#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3766#true} is VALID [2022-04-28 12:22:22,293 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3766#true} {3766#true} #79#return; {3766#true} is VALID [2022-04-28 12:22:22,293 INFO L290 TraceCheckUtils]: 9: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,293 INFO L290 TraceCheckUtils]: 8: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-28 12:22:22,293 INFO L290 TraceCheckUtils]: 7: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-28 12:22:22,293 INFO L272 TraceCheckUtils]: 6: Hoare triple {3766#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {3766#true} is VALID [2022-04-28 12:22:22,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {3766#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {3766#true} is VALID [2022-04-28 12:22:22,293 INFO L272 TraceCheckUtils]: 4: Hoare triple {3766#true} call #t~ret6 := main(); {3766#true} is VALID [2022-04-28 12:22:22,293 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3766#true} {3766#true} #103#return; {3766#true} is VALID [2022-04-28 12:22:22,293 INFO L290 TraceCheckUtils]: 2: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-28 12:22:22,293 INFO L290 TraceCheckUtils]: 1: Hoare triple {3766#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); {3766#true} is VALID [2022-04-28 12:22:22,293 INFO L272 TraceCheckUtils]: 0: Hoare triple {3766#true} call ULTIMATE.init(); {3766#true} is VALID [2022-04-28 12:22:22,293 INFO L134 CoverageAnalysis]: Checked inductivity of 94 backedges. 14 proven. 11 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-04-28 12:22:22,294 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:22:22,294 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1676450654] [2022-04-28 12:22:22,294 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:22:22,294 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1046817941] [2022-04-28 12:22:22,294 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1046817941] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:22:22,294 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:22:22,294 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:22:22,294 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:22:22,294 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1103279883] [2022-04-28 12:22:22,294 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1103279883] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:22:22,294 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:22:22,294 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:22:22,295 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1465657855] [2022-04-28 12:22:22,295 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:22:22,295 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-28 12:22:22,295 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:22:22,295 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:22:22,323 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:22,323 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:22:22,323 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:22,323 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:22:22,323 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:22:22,323 INFO L87 Difference]: Start difference. First operand 59 states and 71 transitions. Second operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:22:22,893 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:22,893 INFO L93 Difference]: Finished difference Result 106 states and 146 transitions. [2022-04-28 12:22:22,893 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 12:22:22,893 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) Word has length 69 [2022-04-28 12:22:22,894 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:22:22,894 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:22:22,905 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-28 12:22:22,905 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:22:22,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-28 12:22:22,907 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 110 transitions. [2022-04-28 12:22:22,985 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:22,995 INFO L225 Difference]: With dead ends: 106 [2022-04-28 12:22:22,996 INFO L226 Difference]: Without dead ends: 98 [2022-04-28 12:22:22,996 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 129 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-28 12:22:22,996 INFO L413 NwaCegarLoop]: 60 mSDtfsCounter, 30 mSDsluCounter, 199 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 35 SdHoareTripleChecker+Valid, 259 SdHoareTripleChecker+Invalid, 227 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 53 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:22:22,996 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [35 Valid, 259 Invalid, 227 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:22:22,997 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-28 12:22:23,138 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 89. [2022-04-28 12:22:23,139 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:22:23,139 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 12:22:23,140 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 12:22:23,140 INFO L87 Difference]: Start difference. First operand 98 states. Second operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 12:22:23,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:23,143 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-28 12:22:23,143 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-28 12:22:23,144 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:23,144 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:23,145 INFO L74 IsIncluded]: Start isIncluded. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-28 12:22:23,145 INFO L87 Difference]: Start difference. First operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) Second operand 98 states. [2022-04-28 12:22:23,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:23,148 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-28 12:22:23,148 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-28 12:22:23,148 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:23,148 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:23,148 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:22:23,149 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:22:23,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 89 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 34 states have call successors, (34), 8 states have call predecessors, (34), 7 states have return successors, (32), 32 states have call predecessors, (32), 32 states have call successors, (32) [2022-04-28 12:22:23,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 122 transitions. [2022-04-28 12:22:23,151 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 122 transitions. Word has length 69 [2022-04-28 12:22:23,151 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:22:23,151 INFO L495 AbstractCegarLoop]: Abstraction has 89 states and 122 transitions. [2022-04-28 12:22:23,151 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.0) internal successors, (24), 7 states have internal predecessors, (24), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 4 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-28 12:22:23,151 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 122 transitions. [2022-04-28 12:22:23,293 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 12:22:23,293 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 122 transitions. [2022-04-28 12:22:23,294 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-28 12:22:23,294 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:22:23,294 INFO L195 NwaCegarLoop]: trace histogram [6, 6, 6, 6, 5, 5, 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, 1, 1] [2022-04-28 12:22:23,310 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 12:22:23,494 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 12:22:23,495 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:22:23,495 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:22:23,495 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 1 times [2022-04-28 12:22:23,495 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:23,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [239917110] [2022-04-28 12:22:23,496 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:22:23,496 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 2 times [2022-04-28 12:22:23,496 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:22:23,496 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1194310054] [2022-04-28 12:22:23,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:22:23,496 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:22:23,509 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:22:23,509 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [561297121] [2022-04-28 12:22:23,509 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:22:23,509 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:22:23,509 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:22:23,530 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 12:22:23,551 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 12:22:23,592 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:22:23,592 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:22:23,593 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 12:22:23,622 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:22:23,624 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:22:23,816 INFO L272 TraceCheckUtils]: 0: Hoare triple {4784#true} call ULTIMATE.init(); {4784#true} is VALID [2022-04-28 12:22:23,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {4784#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); {4784#true} is VALID [2022-04-28 12:22:23,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:23,817 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4784#true} {4784#true} #103#return; {4784#true} is VALID [2022-04-28 12:22:23,817 INFO L272 TraceCheckUtils]: 4: Hoare triple {4784#true} call #t~ret6 := main(); {4784#true} is VALID [2022-04-28 12:22:23,817 INFO L290 TraceCheckUtils]: 5: Hoare triple {4784#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4784#true} is VALID [2022-04-28 12:22:23,817 INFO L272 TraceCheckUtils]: 6: Hoare triple {4784#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:23,817 INFO L290 TraceCheckUtils]: 7: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:23,817 INFO L290 TraceCheckUtils]: 8: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:23,817 INFO L290 TraceCheckUtils]: 9: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:23,817 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4784#true} {4784#true} #79#return; {4784#true} is VALID [2022-04-28 12:22:23,817 INFO L290 TraceCheckUtils]: 11: Hoare triple {4784#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4784#true} is VALID [2022-04-28 12:22:23,817 INFO L272 TraceCheckUtils]: 12: Hoare triple {4784#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:23,817 INFO L290 TraceCheckUtils]: 13: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:23,817 INFO L290 TraceCheckUtils]: 14: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:23,818 INFO L290 TraceCheckUtils]: 15: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:23,818 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4784#true} {4784#true} #81#return; {4784#true} is VALID [2022-04-28 12:22:23,818 INFO L272 TraceCheckUtils]: 17: Hoare triple {4784#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:23,818 INFO L290 TraceCheckUtils]: 18: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:23,818 INFO L290 TraceCheckUtils]: 19: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:23,818 INFO L290 TraceCheckUtils]: 20: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:23,818 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4784#true} {4784#true} #83#return; {4784#true} is VALID [2022-04-28 12:22:23,818 INFO L272 TraceCheckUtils]: 22: Hoare triple {4784#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:23,818 INFO L290 TraceCheckUtils]: 23: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:23,818 INFO L290 TraceCheckUtils]: 24: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:23,818 INFO L290 TraceCheckUtils]: 25: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:23,818 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4784#true} {4784#true} #85#return; {4784#true} is VALID [2022-04-28 12:22:23,819 INFO L290 TraceCheckUtils]: 27: Hoare triple {4784#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:23,819 INFO L272 TraceCheckUtils]: 28: Hoare triple {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:23,819 INFO L290 TraceCheckUtils]: 29: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:23,819 INFO L290 TraceCheckUtils]: 30: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:23,819 INFO L290 TraceCheckUtils]: 31: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:23,819 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4784#true} {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} #87#return; {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:23,819 INFO L272 TraceCheckUtils]: 33: Hoare triple {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:23,820 INFO L290 TraceCheckUtils]: 34: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:23,820 INFO L290 TraceCheckUtils]: 35: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:23,820 INFO L290 TraceCheckUtils]: 36: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:23,820 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4784#true} {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} #89#return; {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:23,820 INFO L290 TraceCheckUtils]: 38: Hoare triple {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:22:23,820 INFO L290 TraceCheckUtils]: 39: Hoare triple {4870#(and (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4907#(= main_~q~0 0)} is VALID [2022-04-28 12:22:23,821 INFO L290 TraceCheckUtils]: 40: Hoare triple {4907#(= main_~q~0 0)} assume !false; {4907#(= main_~q~0 0)} is VALID [2022-04-28 12:22:23,821 INFO L272 TraceCheckUtils]: 41: Hoare triple {4907#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:23,821 INFO L290 TraceCheckUtils]: 42: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:23,821 INFO L290 TraceCheckUtils]: 43: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:23,821 INFO L290 TraceCheckUtils]: 44: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:23,821 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4784#true} {4907#(= main_~q~0 0)} #91#return; {4907#(= main_~q~0 0)} is VALID [2022-04-28 12:22:23,821 INFO L272 TraceCheckUtils]: 46: Hoare triple {4907#(= main_~q~0 0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:23,822 INFO L290 TraceCheckUtils]: 47: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:23,822 INFO L290 TraceCheckUtils]: 48: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:23,822 INFO L290 TraceCheckUtils]: 49: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:23,828 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4784#true} {4907#(= main_~q~0 0)} #93#return; {4907#(= main_~q~0 0)} is VALID [2022-04-28 12:22:23,828 INFO L272 TraceCheckUtils]: 51: Hoare triple {4907#(= main_~q~0 0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:23,828 INFO L290 TraceCheckUtils]: 52: Hoare triple {4784#true} ~cond := #in~cond; {4947#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:23,829 INFO L290 TraceCheckUtils]: 53: Hoare triple {4947#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:23,829 INFO L290 TraceCheckUtils]: 54: Hoare triple {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:23,830 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} {4907#(= main_~q~0 0)} #95#return; {4958#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-28 12:22:23,830 INFO L272 TraceCheckUtils]: 56: Hoare triple {4958#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:23,830 INFO L290 TraceCheckUtils]: 57: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:23,830 INFO L290 TraceCheckUtils]: 58: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:23,830 INFO L290 TraceCheckUtils]: 59: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:23,831 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4784#true} {4958#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} #97#return; {4958#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-28 12:22:23,831 INFO L290 TraceCheckUtils]: 61: Hoare triple {4958#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} assume !(~c~0 >= ~b~0); {4958#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~q~0 0))} is VALID [2022-04-28 12:22:23,832 INFO L290 TraceCheckUtils]: 62: Hoare triple {4958#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~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; {4980#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:22:23,832 INFO L290 TraceCheckUtils]: 63: Hoare triple {4980#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {4980#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:22:23,832 INFO L290 TraceCheckUtils]: 64: Hoare triple {4980#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4980#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:22:23,843 INFO L290 TraceCheckUtils]: 65: Hoare triple {4980#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} assume !false; {4980#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:22:23,843 INFO L272 TraceCheckUtils]: 66: Hoare triple {4980#(and (= main_~p~0 0) (= main_~a~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)); {4784#true} is VALID [2022-04-28 12:22:23,843 INFO L290 TraceCheckUtils]: 67: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:23,843 INFO L290 TraceCheckUtils]: 68: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:23,843 INFO L290 TraceCheckUtils]: 69: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:23,847 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4784#true} {4980#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} #91#return; {4980#(and (= main_~p~0 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))))} is VALID [2022-04-28 12:22:23,848 INFO L272 TraceCheckUtils]: 71: Hoare triple {4980#(and (= main_~p~0 0) (= 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)); {5008#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:22:23,848 INFO L290 TraceCheckUtils]: 72: Hoare triple {5008#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5012#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:23,848 INFO L290 TraceCheckUtils]: 73: Hoare triple {5012#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4785#false} is VALID [2022-04-28 12:22:23,848 INFO L290 TraceCheckUtils]: 74: Hoare triple {4785#false} assume !false; {4785#false} is VALID [2022-04-28 12:22:23,849 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 15 proven. 12 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 12:22:23,849 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:22:43,860 INFO L290 TraceCheckUtils]: 74: Hoare triple {4785#false} assume !false; {4785#false} is VALID [2022-04-28 12:22:43,861 INFO L290 TraceCheckUtils]: 73: Hoare triple {5012#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4785#false} is VALID [2022-04-28 12:22:43,861 INFO L290 TraceCheckUtils]: 72: Hoare triple {5008#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5012#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:43,862 INFO L272 TraceCheckUtils]: 71: Hoare triple {5028#(= 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)); {5008#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:22:43,862 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {4784#true} {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #91#return; {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:22:43,863 INFO L290 TraceCheckUtils]: 69: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:43,863 INFO L290 TraceCheckUtils]: 68: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:43,863 INFO L290 TraceCheckUtils]: 67: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:43,863 INFO L272 TraceCheckUtils]: 66: Hoare triple {5028#(= main_~a~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)); {4784#true} is VALID [2022-04-28 12:22:43,863 INFO L290 TraceCheckUtils]: 65: Hoare triple {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:22:43,863 INFO L290 TraceCheckUtils]: 64: Hoare triple {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:22:43,864 INFO L290 TraceCheckUtils]: 63: Hoare triple {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:22:43,864 INFO L290 TraceCheckUtils]: 62: Hoare triple {5056#(= 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; {5028#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:22:43,865 INFO L290 TraceCheckUtils]: 61: Hoare triple {5056#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {5056#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:22:43,865 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {4784#true} {5056#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #97#return; {5056#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:22:43,865 INFO L290 TraceCheckUtils]: 59: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:43,865 INFO L290 TraceCheckUtils]: 58: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:43,865 INFO L290 TraceCheckUtils]: 57: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:43,865 INFO L272 TraceCheckUtils]: 56: Hoare triple {5056#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:43,866 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} {4784#true} #95#return; {5056#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:22:43,866 INFO L290 TraceCheckUtils]: 54: Hoare triple {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:43,867 INFO L290 TraceCheckUtils]: 53: Hoare triple {5087#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4951#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:43,867 INFO L290 TraceCheckUtils]: 52: Hoare triple {4784#true} ~cond := #in~cond; {5087#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:22:43,867 INFO L272 TraceCheckUtils]: 51: Hoare triple {4784#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:43,867 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4784#true} {4784#true} #93#return; {4784#true} is VALID [2022-04-28 12:22:43,867 INFO L290 TraceCheckUtils]: 49: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:43,867 INFO L290 TraceCheckUtils]: 48: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:43,867 INFO L290 TraceCheckUtils]: 47: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:43,867 INFO L272 TraceCheckUtils]: 46: Hoare triple {4784#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:43,867 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4784#true} {4784#true} #91#return; {4784#true} is VALID [2022-04-28 12:22:43,868 INFO L290 TraceCheckUtils]: 44: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:43,868 INFO L290 TraceCheckUtils]: 43: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:43,868 INFO L290 TraceCheckUtils]: 42: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:43,868 INFO L272 TraceCheckUtils]: 41: Hoare triple {4784#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:43,868 INFO L290 TraceCheckUtils]: 40: Hoare triple {4784#true} assume !false; {4784#true} is VALID [2022-04-28 12:22:43,868 INFO L290 TraceCheckUtils]: 39: Hoare triple {4784#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {4784#true} is VALID [2022-04-28 12:22:43,868 INFO L290 TraceCheckUtils]: 38: Hoare triple {4784#true} assume !false; {4784#true} is VALID [2022-04-28 12:22:43,868 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4784#true} {4784#true} #89#return; {4784#true} is VALID [2022-04-28 12:22:43,868 INFO L290 TraceCheckUtils]: 36: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:43,868 INFO L290 TraceCheckUtils]: 35: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:43,868 INFO L290 TraceCheckUtils]: 34: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:43,868 INFO L272 TraceCheckUtils]: 33: Hoare triple {4784#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:43,868 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4784#true} {4784#true} #87#return; {4784#true} is VALID [2022-04-28 12:22:43,868 INFO L290 TraceCheckUtils]: 31: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:43,869 INFO L290 TraceCheckUtils]: 30: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:43,869 INFO L290 TraceCheckUtils]: 29: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:43,869 INFO L272 TraceCheckUtils]: 28: Hoare triple {4784#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:43,869 INFO L290 TraceCheckUtils]: 27: Hoare triple {4784#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {4784#true} is VALID [2022-04-28 12:22:43,869 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4784#true} {4784#true} #85#return; {4784#true} is VALID [2022-04-28 12:22:43,869 INFO L290 TraceCheckUtils]: 25: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:43,869 INFO L290 TraceCheckUtils]: 24: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:43,869 INFO L290 TraceCheckUtils]: 23: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:43,869 INFO L272 TraceCheckUtils]: 22: Hoare triple {4784#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:43,869 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4784#true} {4784#true} #83#return; {4784#true} is VALID [2022-04-28 12:22:43,869 INFO L290 TraceCheckUtils]: 20: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:43,869 INFO L290 TraceCheckUtils]: 19: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:43,869 INFO L290 TraceCheckUtils]: 18: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:43,869 INFO L272 TraceCheckUtils]: 17: Hoare triple {4784#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:43,870 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4784#true} {4784#true} #81#return; {4784#true} is VALID [2022-04-28 12:22:43,870 INFO L290 TraceCheckUtils]: 15: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:43,870 INFO L290 TraceCheckUtils]: 14: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:43,870 INFO L290 TraceCheckUtils]: 13: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:43,870 INFO L272 TraceCheckUtils]: 12: Hoare triple {4784#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:43,870 INFO L290 TraceCheckUtils]: 11: Hoare triple {4784#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4784#true} is VALID [2022-04-28 12:22:43,870 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4784#true} {4784#true} #79#return; {4784#true} is VALID [2022-04-28 12:22:43,870 INFO L290 TraceCheckUtils]: 9: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:43,870 INFO L290 TraceCheckUtils]: 8: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-28 12:22:43,870 INFO L290 TraceCheckUtils]: 7: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-28 12:22:43,870 INFO L272 TraceCheckUtils]: 6: Hoare triple {4784#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {4784#true} is VALID [2022-04-28 12:22:43,870 INFO L290 TraceCheckUtils]: 5: Hoare triple {4784#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {4784#true} is VALID [2022-04-28 12:22:43,870 INFO L272 TraceCheckUtils]: 4: Hoare triple {4784#true} call #t~ret6 := main(); {4784#true} is VALID [2022-04-28 12:22:43,870 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4784#true} {4784#true} #103#return; {4784#true} is VALID [2022-04-28 12:22:43,871 INFO L290 TraceCheckUtils]: 2: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-28 12:22:43,871 INFO L290 TraceCheckUtils]: 1: Hoare triple {4784#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); {4784#true} is VALID [2022-04-28 12:22:43,871 INFO L272 TraceCheckUtils]: 0: Hoare triple {4784#true} call ULTIMATE.init(); {4784#true} is VALID [2022-04-28 12:22:43,871 INFO L134 CoverageAnalysis]: Checked inductivity of 115 backedges. 20 proven. 7 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-28 12:22:43,871 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:22:43,871 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1194310054] [2022-04-28 12:22:43,871 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:22:43,871 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [561297121] [2022-04-28 12:22:43,871 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [561297121] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:22:43,871 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:22:43,871 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 13 [2022-04-28 12:22:43,872 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:22:43,872 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [239917110] [2022-04-28 12:22:43,872 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [239917110] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:22:43,872 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:22:43,872 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:22:43,872 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1095451064] [2022-04-28 12:22:43,872 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:22:43,873 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-28 12:22:43,873 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:22:43,873 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:22:43,911 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 12:22:43,911 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:22:43,911 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:43,911 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:22:43,911 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:22:43,911 INFO L87 Difference]: Start difference. First operand 89 states and 122 transitions. Second operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:22:44,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:44,652 INFO L93 Difference]: Finished difference Result 124 states and 173 transitions. [2022-04-28 12:22:44,652 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:22:44,652 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) Word has length 75 [2022-04-28 12:22:44,652 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:22:44,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:22:44,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-28 12:22:44,658 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:22:44,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-28 12:22:44,660 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2022-04-28 12:22:44,710 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:44,711 INFO L225 Difference]: With dead ends: 124 [2022-04-28 12:22:44,712 INFO L226 Difference]: Without dead ends: 121 [2022-04-28 12:22:44,712 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 152 GetRequests, 137 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 31 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=50, Invalid=190, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:22:44,713 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 24 mSDsluCounter, 143 mSDsCounter, 0 mSdLazyCounter, 182 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 187 SdHoareTripleChecker+Invalid, 201 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 182 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:22:44,714 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 187 Invalid, 201 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 182 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:22:44,714 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-28 12:22:45,002 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 118. [2022-04-28 12:22:45,002 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:22:45,004 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:22:45,004 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:22:45,004 INFO L87 Difference]: Start difference. First operand 121 states. Second operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:22:45,007 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:45,007 INFO L93 Difference]: Finished difference Result 121 states and 169 transitions. [2022-04-28 12:22:45,007 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 169 transitions. [2022-04-28 12:22:45,007 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:45,007 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:45,008 INFO L74 IsIncluded]: Start isIncluded. First operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 121 states. [2022-04-28 12:22:45,008 INFO L87 Difference]: Start difference. First operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 121 states. [2022-04-28 12:22:45,010 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:22:45,010 INFO L93 Difference]: Finished difference Result 121 states and 169 transitions. [2022-04-28 12:22:45,010 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 169 transitions. [2022-04-28 12:22:45,011 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:22:45,011 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:22:45,011 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:22:45,011 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:22:45,011 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 118 states, 62 states have (on average 1.2096774193548387) internal successors, (75), 64 states have internal predecessors, (75), 47 states have call successors, (47), 9 states have call predecessors, (47), 8 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:22:45,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 166 transitions. [2022-04-28 12:22:45,014 INFO L78 Accepts]: Start accepts. Automaton has 118 states and 166 transitions. Word has length 75 [2022-04-28 12:22:45,014 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:22:45,014 INFO L495 AbstractCegarLoop]: Abstraction has 118 states and 166 transitions. [2022-04-28 12:22:45,014 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (14), 2 states have call predecessors, (14), 2 states have return successors, (12), 5 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-28 12:22:45,014 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 118 states and 166 transitions. [2022-04-28 12:22:45,227 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 166 edges. 166 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:22:45,228 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 166 transitions. [2022-04-28 12:22:45,230 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-28 12:22:45,231 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:22:45,231 INFO L195 NwaCegarLoop]: trace histogram [7, 6, 6, 6, 6, 6, 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 12:22:45,247 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 12:22:45,444 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 12:22:45,444 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:22:45,445 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:22:45,445 INFO L85 PathProgramCache]: Analyzing trace with hash -1245952186, now seen corresponding path program 3 times [2022-04-28 12:22:45,445 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:22:45,445 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2001989816] [2022-04-28 12:22:45,445 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:22:45,445 INFO L85 PathProgramCache]: Analyzing trace with hash -1245952186, now seen corresponding path program 4 times [2022-04-28 12:22:45,445 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:22:45,445 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [995091885] [2022-04-28 12:22:45,445 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:22:45,446 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:22:45,461 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:22:45,461 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [920949264] [2022-04-28 12:22:45,461 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:22:45,461 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:22:45,462 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:22:45,462 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 12:22:45,463 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 12:22:45,506 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:22:45,507 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:22:45,508 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 54 conjunts are in the unsatisfiable core [2022-04-28 12:22:45,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:22:45,528 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:22:46,498 INFO L272 TraceCheckUtils]: 0: Hoare triple {5978#true} call ULTIMATE.init(); {5978#true} is VALID [2022-04-28 12:22:46,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {5978#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); {5978#true} is VALID [2022-04-28 12:22:46,498 INFO L290 TraceCheckUtils]: 2: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:22:46,498 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5978#true} {5978#true} #103#return; {5978#true} is VALID [2022-04-28 12:22:46,498 INFO L272 TraceCheckUtils]: 4: Hoare triple {5978#true} call #t~ret6 := main(); {5978#true} is VALID [2022-04-28 12:22:46,498 INFO L290 TraceCheckUtils]: 5: Hoare triple {5978#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5978#true} is VALID [2022-04-28 12:22:46,498 INFO L272 TraceCheckUtils]: 6: Hoare triple {5978#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:22:46,498 INFO L290 TraceCheckUtils]: 7: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:22:46,498 INFO L290 TraceCheckUtils]: 8: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:22:46,498 INFO L290 TraceCheckUtils]: 9: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:22:46,499 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5978#true} {5978#true} #79#return; {5978#true} is VALID [2022-04-28 12:22:46,499 INFO L290 TraceCheckUtils]: 11: Hoare triple {5978#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5978#true} is VALID [2022-04-28 12:22:46,499 INFO L272 TraceCheckUtils]: 12: Hoare triple {5978#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:22:46,499 INFO L290 TraceCheckUtils]: 13: Hoare triple {5978#true} ~cond := #in~cond; {6022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:22:46,499 INFO L290 TraceCheckUtils]: 14: Hoare triple {6022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:22:46,500 INFO L290 TraceCheckUtils]: 15: Hoare triple {6026#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:22:46,500 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {6026#(not (= |assume_abort_if_not_#in~cond| 0))} {5978#true} #81#return; {6033#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:22:46,500 INFO L272 TraceCheckUtils]: 17: Hoare triple {6033#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:22:46,500 INFO L290 TraceCheckUtils]: 18: Hoare triple {5978#true} ~cond := #in~cond; {6022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:22:46,501 INFO L290 TraceCheckUtils]: 19: Hoare triple {6022#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:22:46,501 INFO L290 TraceCheckUtils]: 20: Hoare triple {6026#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6026#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:22:46,502 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {6026#(not (= |assume_abort_if_not_#in~cond| 0))} {6033#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #83#return; {6049#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:22:46,502 INFO L272 TraceCheckUtils]: 22: Hoare triple {6049#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:22:46,502 INFO L290 TraceCheckUtils]: 23: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:22:46,502 INFO L290 TraceCheckUtils]: 24: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:22:46,502 INFO L290 TraceCheckUtils]: 25: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:22:46,502 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5978#true} {6049#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} #85#return; {6049#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:22:46,503 INFO L290 TraceCheckUtils]: 27: Hoare triple {6049#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:22:46,503 INFO L272 TraceCheckUtils]: 28: Hoare triple {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:22:46,503 INFO L290 TraceCheckUtils]: 29: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:22:46,503 INFO L290 TraceCheckUtils]: 30: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:22:46,503 INFO L290 TraceCheckUtils]: 31: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:22:46,504 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5978#true} {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #87#return; {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:22:46,504 INFO L272 TraceCheckUtils]: 33: Hoare triple {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:22:46,504 INFO L290 TraceCheckUtils]: 34: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:22:46,504 INFO L290 TraceCheckUtils]: 35: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:22:46,504 INFO L290 TraceCheckUtils]: 36: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:22:46,505 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5978#true} {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #89#return; {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:22:46,505 INFO L290 TraceCheckUtils]: 38: Hoare triple {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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; {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:22:46,506 INFO L290 TraceCheckUtils]: 39: Hoare triple {6068#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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);~c~0 := ~a~0;~k~0 := 0; {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:22:46,506 INFO L290 TraceCheckUtils]: 40: Hoare triple {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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; {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:22:46,506 INFO L272 TraceCheckUtils]: 41: Hoare triple {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:22:46,506 INFO L290 TraceCheckUtils]: 42: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:22:46,506 INFO L290 TraceCheckUtils]: 43: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:22:46,506 INFO L290 TraceCheckUtils]: 44: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:22:46,507 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5978#true} {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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))} #91#return; {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:22:46,507 INFO L272 TraceCheckUtils]: 46: Hoare triple {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:22:46,507 INFO L290 TraceCheckUtils]: 47: Hoare triple {5978#true} ~cond := #in~cond; {6130#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:46,508 INFO L290 TraceCheckUtils]: 48: Hoare triple {6130#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:46,508 INFO L290 TraceCheckUtils]: 49: Hoare triple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:46,509 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} {6105#(and (<= 0 main_~y~0) (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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))} #93#return; {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:22:46,509 INFO L272 TraceCheckUtils]: 51: Hoare triple {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {5978#true} is VALID [2022-04-28 12:22:46,509 INFO L290 TraceCheckUtils]: 52: Hoare triple {5978#true} ~cond := #in~cond; {6130#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:46,509 INFO L290 TraceCheckUtils]: 53: Hoare triple {6130#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:46,510 INFO L290 TraceCheckUtils]: 54: Hoare triple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:22:46,510 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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))} #95#return; {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:22:46,511 INFO L272 TraceCheckUtils]: 56: Hoare triple {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:22:46,511 INFO L290 TraceCheckUtils]: 57: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:22:46,511 INFO L290 TraceCheckUtils]: 58: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:22:46,511 INFO L290 TraceCheckUtils]: 59: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:22:46,511 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5978#true} {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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))} #97#return; {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:22:46,512 INFO L290 TraceCheckUtils]: 61: Hoare triple {6141#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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); {6175#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (< main_~c~0 main_~b~0) (= main_~c~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-28 12:22:46,512 INFO L290 TraceCheckUtils]: 62: Hoare triple {6175#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (< main_~c~0 main_~b~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; {6179#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0) (= main_~q~0 1))} is VALID [2022-04-28 12:22:46,513 INFO L290 TraceCheckUtils]: 63: Hoare triple {6179#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0) (= main_~q~0 1))} assume !false; {6179#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0) (= main_~q~0 1))} is VALID [2022-04-28 12:22:46,513 INFO L290 TraceCheckUtils]: 64: Hoare triple {6179#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0) (= main_~q~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:22:46,514 INFO L290 TraceCheckUtils]: 65: Hoare triple {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} assume !false; {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:22:46,514 INFO L272 TraceCheckUtils]: 66: Hoare triple {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:22:46,514 INFO L290 TraceCheckUtils]: 67: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:22:46,514 INFO L290 TraceCheckUtils]: 68: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:22:46,514 INFO L290 TraceCheckUtils]: 69: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:22:46,515 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {5978#true} {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #91#return; {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:22:46,515 INFO L272 TraceCheckUtils]: 71: Hoare triple {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:22:46,515 INFO L290 TraceCheckUtils]: 72: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:22:46,515 INFO L290 TraceCheckUtils]: 73: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:22:46,515 INFO L290 TraceCheckUtils]: 74: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:22:46,515 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5978#true} {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} #93#return; {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} is VALID [2022-04-28 12:22:46,516 INFO L272 TraceCheckUtils]: 76: Hoare triple {6186#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (< main_~x~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~q~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:22:46,516 INFO L290 TraceCheckUtils]: 77: Hoare triple {6223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:22:46,517 INFO L290 TraceCheckUtils]: 78: Hoare triple {6227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5979#false} is VALID [2022-04-28 12:22:46,517 INFO L290 TraceCheckUtils]: 79: Hoare triple {5979#false} assume !false; {5979#false} is VALID [2022-04-28 12:22:46,517 INFO L134 CoverageAnalysis]: Checked inductivity of 138 backedges. 22 proven. 44 refuted. 0 times theorem prover too weak. 72 trivial. 0 not checked. [2022-04-28 12:22:46,517 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:23:44,120 INFO L290 TraceCheckUtils]: 79: Hoare triple {5979#false} assume !false; {5979#false} is VALID [2022-04-28 12:23:44,120 INFO L290 TraceCheckUtils]: 78: Hoare triple {6227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5979#false} is VALID [2022-04-28 12:23:44,121 INFO L290 TraceCheckUtils]: 77: Hoare triple {6223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:44,121 INFO L272 TraceCheckUtils]: 76: Hoare triple {6243#(= 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)); {6223#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:23:44,122 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {5978#true} {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #93#return; {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:23:44,122 INFO L290 TraceCheckUtils]: 74: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:23:44,122 INFO L290 TraceCheckUtils]: 73: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:23:44,122 INFO L290 TraceCheckUtils]: 72: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:23:44,122 INFO L272 TraceCheckUtils]: 71: Hoare triple {6243#(= 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)); {5978#true} is VALID [2022-04-28 12:23:44,122 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {5978#true} {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #91#return; {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:23:44,123 INFO L290 TraceCheckUtils]: 69: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:23:44,123 INFO L290 TraceCheckUtils]: 68: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:23:44,123 INFO L290 TraceCheckUtils]: 67: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:23:44,123 INFO L272 TraceCheckUtils]: 66: Hoare triple {6243#(= 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)); {5978#true} is VALID [2022-04-28 12:23:44,123 INFO L290 TraceCheckUtils]: 65: Hoare triple {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:23:44,123 INFO L290 TraceCheckUtils]: 64: Hoare triple {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:23:44,124 INFO L290 TraceCheckUtils]: 63: Hoare triple {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:23:46,127 WARN L290 TraceCheckUtils]: 62: Hoare triple {6286#(= (+ (* 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; {6243#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-28 12:23:46,127 INFO L290 TraceCheckUtils]: 61: Hoare triple {6290#(or (= (+ (* 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))) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {6286#(= (+ (* 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 12:23:46,128 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {5978#true} {6290#(or (= (+ (* 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))) (<= main_~b~0 main_~c~0))} #97#return; {6290#(or (= (+ (* 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))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:23:46,128 INFO L290 TraceCheckUtils]: 59: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:23:46,128 INFO L290 TraceCheckUtils]: 58: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:23:46,128 INFO L290 TraceCheckUtils]: 57: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:23:46,128 INFO L272 TraceCheckUtils]: 56: Hoare triple {6290#(or (= (+ (* 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))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:23:46,129 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} {6309#(or (= (+ (* 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))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} #95#return; {6290#(or (= (+ (* 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))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:23:46,129 INFO L290 TraceCheckUtils]: 54: Hoare triple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:46,130 INFO L290 TraceCheckUtils]: 53: Hoare triple {6319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:46,130 INFO L290 TraceCheckUtils]: 52: Hoare triple {5978#true} ~cond := #in~cond; {6319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:23:46,130 INFO L272 TraceCheckUtils]: 51: Hoare triple {6309#(or (= (+ (* 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))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:23:46,131 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} {6326#(or (= (+ (* 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))) (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_~b~0 main_~c~0))} #93#return; {6309#(or (= (+ (* 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))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:23:46,131 INFO L290 TraceCheckUtils]: 49: Hoare triple {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:46,131 INFO L290 TraceCheckUtils]: 48: Hoare triple {6319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6134#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:46,132 INFO L290 TraceCheckUtils]: 47: Hoare triple {5978#true} ~cond := #in~cond; {6319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:23:46,132 INFO L272 TraceCheckUtils]: 46: Hoare triple {6326#(or (= (+ (* 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))) (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_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:23:46,132 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5978#true} {6326#(or (= (+ (* 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))) (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_~b~0 main_~c~0))} #91#return; {6326#(or (= (+ (* 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))) (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_~b~0 main_~c~0))} is VALID [2022-04-28 12:23:46,132 INFO L290 TraceCheckUtils]: 44: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:23:46,132 INFO L290 TraceCheckUtils]: 43: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:23:46,133 INFO L290 TraceCheckUtils]: 42: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:23:46,133 INFO L272 TraceCheckUtils]: 41: Hoare triple {6326#(or (= (+ (* 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))) (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_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:23:46,133 INFO L290 TraceCheckUtils]: 40: Hoare triple {6326#(or (= (+ (* 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))) (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_~b~0 main_~c~0))} assume !false; {6326#(or (= (+ (* 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))) (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_~b~0 main_~c~0))} is VALID [2022-04-28 12:23:46,133 INFO L290 TraceCheckUtils]: 39: Hoare triple {5978#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {6326#(or (= (+ (* 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))) (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_~b~0 main_~c~0))} is VALID [2022-04-28 12:23:46,134 INFO L290 TraceCheckUtils]: 38: Hoare triple {5978#true} assume !false; {5978#true} is VALID [2022-04-28 12:23:46,134 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5978#true} {5978#true} #89#return; {5978#true} is VALID [2022-04-28 12:23:46,134 INFO L290 TraceCheckUtils]: 36: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:23:46,134 INFO L290 TraceCheckUtils]: 35: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:23:46,134 INFO L290 TraceCheckUtils]: 34: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:23:46,134 INFO L272 TraceCheckUtils]: 33: Hoare triple {5978#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:23:46,134 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5978#true} {5978#true} #87#return; {5978#true} is VALID [2022-04-28 12:23:46,134 INFO L290 TraceCheckUtils]: 31: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:23:46,134 INFO L290 TraceCheckUtils]: 30: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:23:46,134 INFO L290 TraceCheckUtils]: 29: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:23:46,134 INFO L272 TraceCheckUtils]: 28: Hoare triple {5978#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:23:46,134 INFO L290 TraceCheckUtils]: 27: Hoare triple {5978#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {5978#true} is VALID [2022-04-28 12:23:46,134 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5978#true} {5978#true} #85#return; {5978#true} is VALID [2022-04-28 12:23:46,134 INFO L290 TraceCheckUtils]: 25: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:23:46,135 INFO L290 TraceCheckUtils]: 24: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:23:46,135 INFO L290 TraceCheckUtils]: 23: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:23:46,135 INFO L272 TraceCheckUtils]: 22: Hoare triple {5978#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:23:46,135 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5978#true} {5978#true} #83#return; {5978#true} is VALID [2022-04-28 12:23:46,135 INFO L290 TraceCheckUtils]: 20: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:23:46,135 INFO L290 TraceCheckUtils]: 19: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:23:46,135 INFO L290 TraceCheckUtils]: 18: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:23:46,135 INFO L272 TraceCheckUtils]: 17: Hoare triple {5978#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:23:46,135 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5978#true} {5978#true} #81#return; {5978#true} is VALID [2022-04-28 12:23:46,135 INFO L290 TraceCheckUtils]: 15: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:23:46,135 INFO L290 TraceCheckUtils]: 14: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:23:46,135 INFO L290 TraceCheckUtils]: 13: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:23:46,135 INFO L272 TraceCheckUtils]: 12: Hoare triple {5978#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:23:46,135 INFO L290 TraceCheckUtils]: 11: Hoare triple {5978#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5978#true} is VALID [2022-04-28 12:23:46,135 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5978#true} {5978#true} #79#return; {5978#true} is VALID [2022-04-28 12:23:46,136 INFO L290 TraceCheckUtils]: 9: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:23:46,136 INFO L290 TraceCheckUtils]: 8: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-28 12:23:46,136 INFO L290 TraceCheckUtils]: 7: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-28 12:23:46,136 INFO L272 TraceCheckUtils]: 6: Hoare triple {5978#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {5978#true} is VALID [2022-04-28 12:23:46,136 INFO L290 TraceCheckUtils]: 5: Hoare triple {5978#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {5978#true} is VALID [2022-04-28 12:23:46,136 INFO L272 TraceCheckUtils]: 4: Hoare triple {5978#true} call #t~ret6 := main(); {5978#true} is VALID [2022-04-28 12:23:46,137 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5978#true} {5978#true} #103#return; {5978#true} is VALID [2022-04-28 12:23:46,137 INFO L290 TraceCheckUtils]: 2: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-28 12:23:46,137 INFO L290 TraceCheckUtils]: 1: Hoare triple {5978#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); {5978#true} is VALID [2022-04-28 12:23:46,137 INFO L272 TraceCheckUtils]: 0: Hoare triple {5978#true} call ULTIMATE.init(); {5978#true} is VALID [2022-04-28 12:23:46,138 INFO L134 CoverageAnalysis]: Checked inductivity of 138 backedges. 18 proven. 24 refuted. 0 times theorem prover too weak. 96 trivial. 0 not checked. [2022-04-28 12:23:46,138 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:23:46,140 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [995091885] [2022-04-28 12:23:46,140 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:23:46,140 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [920949264] [2022-04-28 12:23:46,140 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [920949264] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:23:46,140 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:23:46,140 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 11] total 22 [2022-04-28 12:23:46,140 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:23:46,141 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2001989816] [2022-04-28 12:23:46,141 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2001989816] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:23:46,141 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:23:46,141 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 12:23:46,141 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1413506847] [2022-04-28 12:23:46,141 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:23:46,141 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) Word has length 80 [2022-04-28 12:23:46,141 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:23:46,142 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) [2022-04-28 12:23:46,197 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:46,197 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 12:23:46,197 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:23:46,197 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 12:23:46,198 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=376, Unknown=0, NotChecked=0, Total=462 [2022-04-28 12:23:46,198 INFO L87 Difference]: Start difference. First operand 118 states and 166 transitions. Second operand has 16 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) [2022-04-28 12:23:48,354 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:48,354 INFO L93 Difference]: Finished difference Result 130 states and 176 transitions. [2022-04-28 12:23:48,354 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 12:23:48,354 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) Word has length 80 [2022-04-28 12:23:48,355 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:23:48,355 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) [2022-04-28 12:23:48,356 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 91 transitions. [2022-04-28 12:23:48,356 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) [2022-04-28 12:23:48,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 91 transitions. [2022-04-28 12:23:48,357 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 91 transitions. [2022-04-28 12:23:48,439 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:23:48,441 INFO L225 Difference]: With dead ends: 130 [2022-04-28 12:23:48,441 INFO L226 Difference]: Without dead ends: 128 [2022-04-28 12:23:48,441 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 138 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 143 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=116, Invalid=534, Unknown=0, NotChecked=0, Total=650 [2022-04-28 12:23:48,442 INFO L413 NwaCegarLoop]: 32 mSDtfsCounter, 48 mSDsluCounter, 129 mSDsCounter, 0 mSdLazyCounter, 440 mSolverCounterSat, 37 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 65 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 477 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 37 IncrementalHoareTripleChecker+Valid, 440 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 12:23:48,442 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [65 Valid, 161 Invalid, 477 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [37 Valid, 440 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 12:23:48,442 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-28 12:23:48,597 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 126. [2022-04-28 12:23:48,597 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:23:48,597 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:23:48,598 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:23:48,598 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:23:48,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:48,601 INFO L93 Difference]: Finished difference Result 128 states and 174 transitions. [2022-04-28 12:23:48,601 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 174 transitions. [2022-04-28 12:23:48,601 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:23:48,601 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:23:48,601 INFO L74 IsIncluded]: Start isIncluded. First operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 128 states. [2022-04-28 12:23:48,601 INFO L87 Difference]: Start difference. First operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 128 states. [2022-04-28 12:23:48,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:23:48,604 INFO L93 Difference]: Finished difference Result 128 states and 174 transitions. [2022-04-28 12:23:48,604 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 174 transitions. [2022-04-28 12:23:48,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:23:48,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:23:48,605 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:23:48,605 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:23:48,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 126 states, 68 states have (on average 1.1911764705882353) internal successors, (81), 70 states have internal predecessors, (81), 47 states have call successors, (47), 11 states have call predecessors, (47), 10 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:23:48,607 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 172 transitions. [2022-04-28 12:23:48,607 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 172 transitions. Word has length 80 [2022-04-28 12:23:48,608 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:23:48,608 INFO L495 AbstractCegarLoop]: Abstraction has 126 states and 172 transitions. [2022-04-28 12:23:48,608 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 1.8666666666666667) internal successors, (28), 12 states have internal predecessors, (28), 7 states have call successors, (15), 2 states have call predecessors, (15), 3 states have return successors, (13), 7 states have call predecessors, (13), 7 states have call successors, (13) [2022-04-28 12:23:48,608 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 126 states and 172 transitions. [2022-04-28 12:23:48,878 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 12:23:48,878 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 172 transitions. [2022-04-28 12:23:48,878 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-28 12:23:48,878 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:23:48,879 INFO L195 NwaCegarLoop]: trace histogram [8, 7, 7, 6, 6, 6, 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] [2022-04-28 12:23:48,895 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 12:23:49,079 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 12:23:49,079 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:23:49,079 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:23:49,080 INFO L85 PathProgramCache]: Analyzing trace with hash 901388446, now seen corresponding path program 5 times [2022-04-28 12:23:49,080 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:23:49,080 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1860989490] [2022-04-28 12:23:49,080 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:23:49,080 INFO L85 PathProgramCache]: Analyzing trace with hash 901388446, now seen corresponding path program 6 times [2022-04-28 12:23:49,080 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:23:49,080 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [678325282] [2022-04-28 12:23:49,080 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:23:49,080 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:23:49,094 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:23:49,094 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [291795967] [2022-04-28 12:23:49,094 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:23:49,094 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:23:49,094 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:23:49,099 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 12:23:49,120 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 12:23:49,156 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:23:49,156 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:23:49,157 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-28 12:23:49,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:23:49,174 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:23:51,923 INFO L272 TraceCheckUtils]: 0: Hoare triple {7255#true} call ULTIMATE.init(); {7255#true} is VALID [2022-04-28 12:23:51,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {7255#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); {7255#true} is VALID [2022-04-28 12:23:51,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 12:23:51,923 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7255#true} {7255#true} #103#return; {7255#true} is VALID [2022-04-28 12:23:51,923 INFO L272 TraceCheckUtils]: 4: Hoare triple {7255#true} call #t~ret6 := main(); {7255#true} is VALID [2022-04-28 12:23:51,923 INFO L290 TraceCheckUtils]: 5: Hoare triple {7255#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {7255#true} is VALID [2022-04-28 12:23:51,923 INFO L272 TraceCheckUtils]: 6: Hoare triple {7255#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {7255#true} is VALID [2022-04-28 12:23:51,923 INFO L290 TraceCheckUtils]: 7: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 12:23:51,923 INFO L290 TraceCheckUtils]: 8: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 12:23:51,923 INFO L290 TraceCheckUtils]: 9: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 12:23:51,924 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7255#true} {7255#true} #79#return; {7255#true} is VALID [2022-04-28 12:23:51,924 INFO L290 TraceCheckUtils]: 11: Hoare triple {7255#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7255#true} is VALID [2022-04-28 12:23:51,924 INFO L272 TraceCheckUtils]: 12: Hoare triple {7255#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {7255#true} is VALID [2022-04-28 12:23:51,924 INFO L290 TraceCheckUtils]: 13: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 12:23:51,924 INFO L290 TraceCheckUtils]: 14: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 12:23:51,924 INFO L290 TraceCheckUtils]: 15: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 12:23:51,924 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7255#true} {7255#true} #81#return; {7255#true} is VALID [2022-04-28 12:23:51,924 INFO L272 TraceCheckUtils]: 17: Hoare triple {7255#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7255#true} is VALID [2022-04-28 12:23:51,924 INFO L290 TraceCheckUtils]: 18: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 12:23:51,924 INFO L290 TraceCheckUtils]: 19: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 12:23:51,924 INFO L290 TraceCheckUtils]: 20: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 12:23:51,924 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7255#true} {7255#true} #83#return; {7255#true} is VALID [2022-04-28 12:23:51,924 INFO L272 TraceCheckUtils]: 22: Hoare triple {7255#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7255#true} is VALID [2022-04-28 12:23:51,924 INFO L290 TraceCheckUtils]: 23: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 12:23:51,925 INFO L290 TraceCheckUtils]: 24: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 12:23:51,925 INFO L290 TraceCheckUtils]: 25: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 12:23:51,925 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7255#true} {7255#true} #85#return; {7255#true} is VALID [2022-04-28 12:23:51,925 INFO L290 TraceCheckUtils]: 27: Hoare triple {7255#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:51,925 INFO L272 TraceCheckUtils]: 28: Hoare triple {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {7255#true} is VALID [2022-04-28 12:23:51,925 INFO L290 TraceCheckUtils]: 29: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 12:23:51,925 INFO L290 TraceCheckUtils]: 30: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 12:23:51,925 INFO L290 TraceCheckUtils]: 31: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 12:23:51,926 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {7255#true} {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #87#return; {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:51,926 INFO L272 TraceCheckUtils]: 33: Hoare triple {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {7255#true} is VALID [2022-04-28 12:23:51,926 INFO L290 TraceCheckUtils]: 34: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 12:23:51,926 INFO L290 TraceCheckUtils]: 35: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 12:23:51,926 INFO L290 TraceCheckUtils]: 36: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 12:23:51,926 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {7255#true} {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} #89#return; {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:51,927 INFO L290 TraceCheckUtils]: 38: Hoare triple {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !false; {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} is VALID [2022-04-28 12:23:51,927 INFO L290 TraceCheckUtils]: 39: Hoare triple {7341#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:23:51,927 INFO L290 TraceCheckUtils]: 40: Hoare triple {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} assume !false; {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:23:51,928 INFO L272 TraceCheckUtils]: 41: Hoare triple {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7255#true} is VALID [2022-04-28 12:23:51,928 INFO L290 TraceCheckUtils]: 42: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 12:23:51,928 INFO L290 TraceCheckUtils]: 43: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 12:23:51,928 INFO L290 TraceCheckUtils]: 44: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 12:23:51,929 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {7255#true} {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #91#return; {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:23:51,929 INFO L272 TraceCheckUtils]: 46: Hoare triple {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {7255#true} is VALID [2022-04-28 12:23:51,929 INFO L290 TraceCheckUtils]: 47: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 12:23:51,929 INFO L290 TraceCheckUtils]: 48: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 12:23:51,929 INFO L290 TraceCheckUtils]: 49: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 12:23:51,929 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7255#true} {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #93#return; {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:23:51,930 INFO L272 TraceCheckUtils]: 51: Hoare triple {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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)); {7255#true} is VALID [2022-04-28 12:23:51,930 INFO L290 TraceCheckUtils]: 52: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 12:23:51,930 INFO L290 TraceCheckUtils]: 53: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 12:23:51,930 INFO L290 TraceCheckUtils]: 54: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 12:23:51,930 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {7255#true} {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #95#return; {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:23:51,930 INFO L272 TraceCheckUtils]: 56: Hoare triple {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7255#true} is VALID [2022-04-28 12:23:51,930 INFO L290 TraceCheckUtils]: 57: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 12:23:51,930 INFO L290 TraceCheckUtils]: 58: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 12:23:51,930 INFO L290 TraceCheckUtils]: 59: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 12:23:51,931 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {7255#true} {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} #97#return; {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:23:51,932 INFO L290 TraceCheckUtils]: 61: Hoare triple {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} assume !(~c~0 >= ~b~0); {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:23:51,932 INFO L290 TraceCheckUtils]: 62: Hoare triple {7378#(and (= main_~r~0 0) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~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; {7448#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:23:51,934 INFO L290 TraceCheckUtils]: 63: Hoare triple {7448#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {7448#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:23:51,934 INFO L290 TraceCheckUtils]: 64: Hoare triple {7448#(and (= main_~s~0 0) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:23:51,934 INFO L290 TraceCheckUtils]: 65: Hoare triple {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} assume !false; {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:23:51,934 INFO L272 TraceCheckUtils]: 66: Hoare triple {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {7255#true} is VALID [2022-04-28 12:23:51,937 INFO L290 TraceCheckUtils]: 67: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 12:23:51,937 INFO L290 TraceCheckUtils]: 68: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 12:23:51,937 INFO L290 TraceCheckUtils]: 69: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 12:23:51,938 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {7255#true} {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #91#return; {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:23:51,938 INFO L272 TraceCheckUtils]: 71: Hoare triple {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7255#true} is VALID [2022-04-28 12:23:51,938 INFO L290 TraceCheckUtils]: 72: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-28 12:23:51,938 INFO L290 TraceCheckUtils]: 73: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-28 12:23:51,938 INFO L290 TraceCheckUtils]: 74: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-28 12:23:51,938 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {7255#true} {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #93#return; {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:23:51,938 INFO L272 TraceCheckUtils]: 76: Hoare triple {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7255#true} is VALID [2022-04-28 12:23:51,938 INFO L290 TraceCheckUtils]: 77: Hoare triple {7255#true} ~cond := #in~cond; {7495#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:51,939 INFO L290 TraceCheckUtils]: 78: Hoare triple {7495#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {7499#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:51,939 INFO L290 TraceCheckUtils]: 79: Hoare triple {7499#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {7499#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:23:51,939 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {7499#(not (= |__VERIFIER_assert_#in~cond| 0))} {7455#(and (= main_~s~0 0) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} #95#return; {7506#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} is VALID [2022-04-28 12:23:51,942 INFO L272 TraceCheckUtils]: 81: Hoare triple {7506#(and (= main_~s~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~b~0 main_~x~0) (= main_~xy~0 (* main_~y~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {7510#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:23:51,942 INFO L290 TraceCheckUtils]: 82: Hoare triple {7510#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7514#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:23:51,942 INFO L290 TraceCheckUtils]: 83: Hoare triple {7514#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7256#false} is VALID [2022-04-28 12:23:51,944 INFO L290 TraceCheckUtils]: 84: Hoare triple {7256#false} assume !false; {7256#false} is VALID [2022-04-28 12:23:51,945 INFO L134 CoverageAnalysis]: Checked inductivity of 165 backedges. 31 proven. 8 refuted. 0 times theorem prover too weak. 126 trivial. 0 not checked. [2022-04-28 12:23:51,945 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:24:48,460 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:24:48,460 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [678325282] [2022-04-28 12:24:48,461 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:24:48,461 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [291795967] [2022-04-28 12:24:48,461 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [291795967] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:24:48,461 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:24:48,461 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-28 12:24:48,461 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:24:48,461 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1860989490] [2022-04-28 12:24:48,461 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1860989490] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:24:48,461 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:24:48,461 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 12:24:48,461 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [303090192] [2022-04-28 12:24:48,461 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:24:48,462 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 4 states have call successors, (14) Word has length 85 [2022-04-28 12:24:48,462 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:24:48,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-28 12:24:48,508 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:48,509 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 12:24:48,509 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:48,509 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 12:24:48,509 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:24:48,509 INFO L87 Difference]: Start difference. First operand 126 states and 172 transitions. Second operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-28 12:24:49,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:49,854 INFO L93 Difference]: Finished difference Result 138 states and 182 transitions. [2022-04-28 12:24:49,854 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:24:49,854 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 4 states have call successors, (14) Word has length 85 [2022-04-28 12:24:49,854 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:24:49,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-28 12:24:49,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2022-04-28 12:24:49,856 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-28 12:24:49,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2022-04-28 12:24:49,857 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 98 transitions. [2022-04-28 12:24:49,946 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:49,948 INFO L225 Difference]: With dead ends: 138 [2022-04-28 12:24:49,949 INFO L226 Difference]: Without dead ends: 136 [2022-04-28 12:24:49,949 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 77 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=219, Unknown=0, NotChecked=0, Total=272 [2022-04-28 12:24:49,949 INFO L413 NwaCegarLoop]: 44 mSDtfsCounter, 27 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 339 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 220 SdHoareTripleChecker+Invalid, 360 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 339 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:24:49,949 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [34 Valid, 220 Invalid, 360 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 339 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:24:49,950 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2022-04-28 12:24:50,182 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 134. [2022-04-28 12:24:50,183 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:24:50,183 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand has 134 states, 74 states have (on average 1.1756756756756757) internal successors, (87), 76 states have internal predecessors, (87), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:24:50,183 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand has 134 states, 74 states have (on average 1.1756756756756757) internal successors, (87), 76 states have internal predecessors, (87), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:24:50,184 INFO L87 Difference]: Start difference. First operand 136 states. Second operand has 134 states, 74 states have (on average 1.1756756756756757) internal successors, (87), 76 states have internal predecessors, (87), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:24:50,186 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:50,186 INFO L93 Difference]: Finished difference Result 136 states and 180 transitions. [2022-04-28 12:24:50,186 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 180 transitions. [2022-04-28 12:24:50,187 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:50,187 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:50,187 INFO L74 IsIncluded]: Start isIncluded. First operand has 134 states, 74 states have (on average 1.1756756756756757) internal successors, (87), 76 states have internal predecessors, (87), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 136 states. [2022-04-28 12:24:50,187 INFO L87 Difference]: Start difference. First operand has 134 states, 74 states have (on average 1.1756756756756757) internal successors, (87), 76 states have internal predecessors, (87), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 136 states. [2022-04-28 12:24:50,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:50,190 INFO L93 Difference]: Finished difference Result 136 states and 180 transitions. [2022-04-28 12:24:50,190 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 180 transitions. [2022-04-28 12:24:50,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:50,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:50,190 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:24:50,190 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:24:50,190 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 134 states, 74 states have (on average 1.1756756756756757) internal successors, (87), 76 states have internal predecessors, (87), 47 states have call successors, (47), 13 states have call predecessors, (47), 12 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:24:50,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 178 transitions. [2022-04-28 12:24:50,193 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 178 transitions. Word has length 85 [2022-04-28 12:24:50,193 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:24:50,193 INFO L495 AbstractCegarLoop]: Abstraction has 134 states and 178 transitions. [2022-04-28 12:24:50,193 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 5 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 5 states have call predecessors, (14), 4 states have call successors, (14) [2022-04-28 12:24:50,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 134 states and 178 transitions. [2022-04-28 12:24:50,465 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 12:24:50,465 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 178 transitions. [2022-04-28 12:24:50,465 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-28 12:24:50,465 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:24:50,466 INFO L195 NwaCegarLoop]: trace histogram [9, 8, 8, 6, 6, 6, 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, 1] [2022-04-28 12:24:50,482 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 12:24:50,666 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 12:24:50,666 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:24:50,666 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:24:50,667 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 1 times [2022-04-28 12:24:50,667 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:50,667 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [835145314] [2022-04-28 12:24:50,667 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:24:50,667 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 2 times [2022-04-28 12:24:50,667 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:24:50,667 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1421467924] [2022-04-28 12:24:50,667 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:24:50,667 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:24:50,678 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:24:50,678 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1939044449] [2022-04-28 12:24:50,678 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:24:50,678 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:24:50,678 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:24:50,679 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 12:24:50,683 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 12:24:50,731 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:24:50,731 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:24:50,732 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-28 12:24:50,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:24:50,747 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:24:51,319 INFO L272 TraceCheckUtils]: 0: Hoare triple {8361#true} call ULTIMATE.init(); {8361#true} is VALID [2022-04-28 12:24:51,319 INFO L290 TraceCheckUtils]: 1: Hoare triple {8361#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); {8361#true} is VALID [2022-04-28 12:24:51,319 INFO L290 TraceCheckUtils]: 2: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:51,319 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8361#true} {8361#true} #103#return; {8361#true} is VALID [2022-04-28 12:24:51,319 INFO L272 TraceCheckUtils]: 4: Hoare triple {8361#true} call #t~ret6 := main(); {8361#true} is VALID [2022-04-28 12:24:51,319 INFO L290 TraceCheckUtils]: 5: Hoare triple {8361#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8361#true} is VALID [2022-04-28 12:24:51,319 INFO L272 TraceCheckUtils]: 6: Hoare triple {8361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:51,320 INFO L290 TraceCheckUtils]: 7: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:51,320 INFO L290 TraceCheckUtils]: 8: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:51,320 INFO L290 TraceCheckUtils]: 9: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:51,320 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8361#true} {8361#true} #79#return; {8361#true} is VALID [2022-04-28 12:24:51,320 INFO L290 TraceCheckUtils]: 11: Hoare triple {8361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8361#true} is VALID [2022-04-28 12:24:51,320 INFO L272 TraceCheckUtils]: 12: Hoare triple {8361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:51,320 INFO L290 TraceCheckUtils]: 13: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:51,320 INFO L290 TraceCheckUtils]: 14: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:51,320 INFO L290 TraceCheckUtils]: 15: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:51,320 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8361#true} {8361#true} #81#return; {8361#true} is VALID [2022-04-28 12:24:51,320 INFO L272 TraceCheckUtils]: 17: Hoare triple {8361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:51,320 INFO L290 TraceCheckUtils]: 18: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:51,320 INFO L290 TraceCheckUtils]: 19: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:51,321 INFO L290 TraceCheckUtils]: 20: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:51,321 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8361#true} {8361#true} #83#return; {8361#true} is VALID [2022-04-28 12:24:51,321 INFO L272 TraceCheckUtils]: 22: Hoare triple {8361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:51,321 INFO L290 TraceCheckUtils]: 23: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:51,321 INFO L290 TraceCheckUtils]: 24: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:51,321 INFO L290 TraceCheckUtils]: 25: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:51,321 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8361#true} {8361#true} #85#return; {8361#true} is VALID [2022-04-28 12:24:51,330 INFO L290 TraceCheckUtils]: 27: Hoare triple {8361#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {8447#(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 12:24:51,330 INFO L272 TraceCheckUtils]: 28: Hoare triple {8447#(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))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:51,330 INFO L290 TraceCheckUtils]: 29: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:51,330 INFO L290 TraceCheckUtils]: 30: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:51,330 INFO L290 TraceCheckUtils]: 31: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:51,331 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8361#true} {8447#(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))} #87#return; {8447#(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 12:24:51,331 INFO L272 TraceCheckUtils]: 33: Hoare triple {8447#(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))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:51,331 INFO L290 TraceCheckUtils]: 34: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:51,331 INFO L290 TraceCheckUtils]: 35: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:51,331 INFO L290 TraceCheckUtils]: 36: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:51,331 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8361#true} {8447#(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))} #89#return; {8447#(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 12:24:51,332 INFO L290 TraceCheckUtils]: 38: Hoare triple {8447#(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; {8447#(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 12:24:51,332 INFO L290 TraceCheckUtils]: 39: Hoare triple {8447#(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);~c~0 := ~a~0;~k~0 := 0; {8484#(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 12:24:51,332 INFO L290 TraceCheckUtils]: 40: Hoare triple {8484#(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; {8484#(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 12:24:51,332 INFO L272 TraceCheckUtils]: 41: Hoare triple {8484#(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)); {8361#true} is VALID [2022-04-28 12:24:51,332 INFO L290 TraceCheckUtils]: 42: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:51,332 INFO L290 TraceCheckUtils]: 43: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:51,332 INFO L290 TraceCheckUtils]: 44: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:51,333 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8361#true} {8484#(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))} #91#return; {8484#(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 12:24:51,333 INFO L272 TraceCheckUtils]: 46: Hoare triple {8484#(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)); {8361#true} is VALID [2022-04-28 12:24:51,333 INFO L290 TraceCheckUtils]: 47: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:51,333 INFO L290 TraceCheckUtils]: 48: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:51,333 INFO L290 TraceCheckUtils]: 49: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:51,343 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8361#true} {8484#(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))} #93#return; {8484#(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 12:24:51,343 INFO L272 TraceCheckUtils]: 51: Hoare triple {8484#(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)); {8361#true} is VALID [2022-04-28 12:24:51,343 INFO L290 TraceCheckUtils]: 52: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:51,343 INFO L290 TraceCheckUtils]: 53: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:51,343 INFO L290 TraceCheckUtils]: 54: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:51,344 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8361#true} {8484#(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))} #95#return; {8484#(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 12:24:51,344 INFO L272 TraceCheckUtils]: 56: Hoare triple {8484#(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 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:51,344 INFO L290 TraceCheckUtils]: 57: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:51,344 INFO L290 TraceCheckUtils]: 58: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:51,344 INFO L290 TraceCheckUtils]: 59: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:51,344 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8361#true} {8484#(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))} #97#return; {8484#(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 12:24:51,345 INFO L290 TraceCheckUtils]: 61: Hoare triple {8484#(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);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:24:51,345 INFO L290 TraceCheckUtils]: 62: Hoare triple {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:24:51,345 INFO L272 TraceCheckUtils]: 63: Hoare triple {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:51,345 INFO L290 TraceCheckUtils]: 64: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:51,345 INFO L290 TraceCheckUtils]: 65: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:51,346 INFO L290 TraceCheckUtils]: 66: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:51,346 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8361#true} {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #91#return; {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:24:51,346 INFO L272 TraceCheckUtils]: 68: Hoare triple {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:51,346 INFO L290 TraceCheckUtils]: 69: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:51,346 INFO L290 TraceCheckUtils]: 70: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:51,346 INFO L290 TraceCheckUtils]: 71: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:51,347 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8361#true} {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #93#return; {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:24:51,347 INFO L272 TraceCheckUtils]: 73: Hoare triple {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:51,347 INFO L290 TraceCheckUtils]: 74: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:51,347 INFO L290 TraceCheckUtils]: 75: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:51,347 INFO L290 TraceCheckUtils]: 76: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:51,348 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8361#true} {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #95#return; {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:24:51,348 INFO L272 TraceCheckUtils]: 78: Hoare triple {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:51,348 INFO L290 TraceCheckUtils]: 79: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:51,348 INFO L290 TraceCheckUtils]: 80: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:51,348 INFO L290 TraceCheckUtils]: 81: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:51,348 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {8361#true} {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #97#return; {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-28 12:24:51,349 INFO L290 TraceCheckUtils]: 83: Hoare triple {8551#(and (= main_~r~0 0) (<= main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~c~0) (= (+ (- 1) main_~k~0) 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {8618#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= 0 main_~c~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~0 2))) (= main_~p~0 1))} is VALID [2022-04-28 12:24:51,350 INFO L290 TraceCheckUtils]: 84: Hoare triple {8618#(and (= main_~r~0 0) (= main_~y~0 (+ (* (- 1) main_~c~0) main_~x~0)) (= main_~s~0 1) (= (+ (- 1) main_~k~0) 0) (<= 0 main_~c~0) (= main_~q~0 0) (not (<= main_~x~0 (* main_~c~0 2))) (= 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; {8622#(and (not (<= (* main_~y~0 2) main_~x~0)) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:24:51,350 INFO L290 TraceCheckUtils]: 85: Hoare triple {8622#(and (not (<= (* main_~y~0 2) main_~x~0)) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 main_~x~0))} assume !false; {8622#(and (not (<= (* main_~y~0 2) main_~x~0)) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 main_~x~0))} is VALID [2022-04-28 12:24:51,351 INFO L290 TraceCheckUtils]: 86: Hoare triple {8622#(and (not (<= (* main_~y~0 2) main_~x~0)) (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~b~0) (= main_~q~0 1) (= (+ main_~s~0 1) 0) (<= main_~y~0 main_~x~0))} assume !(0 != ~b~0); {8629#(and (= main_~y~0 main_~x~0) (< main_~x~0 (* main_~y~0 2)) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} is VALID [2022-04-28 12:24:51,351 INFO L272 TraceCheckUtils]: 87: Hoare triple {8629#(and (= main_~y~0 main_~x~0) (< main_~x~0 (* main_~y~0 2)) (= main_~q~0 1) (= (+ main_~s~0 1) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {8633#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:24:51,352 INFO L290 TraceCheckUtils]: 88: Hoare triple {8633#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8637#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:24:51,352 INFO L290 TraceCheckUtils]: 89: Hoare triple {8637#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8362#false} is VALID [2022-04-28 12:24:51,352 INFO L290 TraceCheckUtils]: 90: Hoare triple {8362#false} assume !false; {8362#false} is VALID [2022-04-28 12:24:51,352 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-28 12:24:51,352 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:24:51,908 INFO L290 TraceCheckUtils]: 90: Hoare triple {8362#false} assume !false; {8362#false} is VALID [2022-04-28 12:24:51,908 INFO L290 TraceCheckUtils]: 89: Hoare triple {8637#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8362#false} is VALID [2022-04-28 12:24:51,909 INFO L290 TraceCheckUtils]: 88: Hoare triple {8633#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8637#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:24:51,909 INFO L272 TraceCheckUtils]: 87: Hoare triple {8653#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {8633#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:24:51,909 INFO L290 TraceCheckUtils]: 86: Hoare triple {8657#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {8653#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-28 12:24:51,910 INFO L290 TraceCheckUtils]: 85: Hoare triple {8657#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {8657#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 12:24:53,911 WARN L290 TraceCheckUtils]: 84: Hoare triple {8664#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* 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)) 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; {8657#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is UNKNOWN [2022-04-28 12:24:53,912 INFO L290 TraceCheckUtils]: 83: Hoare triple {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} assume !(~c~0 >= ~b~0); {8664#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* 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)) 0))} is VALID [2022-04-28 12:24:53,912 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {8361#true} {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} #97#return; {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} is VALID [2022-04-28 12:24:53,912 INFO L290 TraceCheckUtils]: 81: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:53,912 INFO L290 TraceCheckUtils]: 80: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:53,912 INFO L290 TraceCheckUtils]: 79: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:53,912 INFO L272 TraceCheckUtils]: 78: Hoare triple {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:53,913 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {8361#true} {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} #95#return; {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} is VALID [2022-04-28 12:24:53,913 INFO L290 TraceCheckUtils]: 76: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:53,913 INFO L290 TraceCheckUtils]: 75: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:53,913 INFO L290 TraceCheckUtils]: 74: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:53,913 INFO L272 TraceCheckUtils]: 73: Hoare triple {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:53,914 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {8361#true} {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} #93#return; {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} is VALID [2022-04-28 12:24:53,914 INFO L290 TraceCheckUtils]: 71: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:53,914 INFO L290 TraceCheckUtils]: 70: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:53,914 INFO L290 TraceCheckUtils]: 69: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:53,914 INFO L272 TraceCheckUtils]: 68: Hoare triple {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:53,914 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {8361#true} {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} #91#return; {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} is VALID [2022-04-28 12:24:53,914 INFO L290 TraceCheckUtils]: 66: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:53,914 INFO L290 TraceCheckUtils]: 65: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:53,915 INFO L290 TraceCheckUtils]: 64: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:53,915 INFO L272 TraceCheckUtils]: 63: Hoare triple {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:53,915 INFO L290 TraceCheckUtils]: 62: Hoare triple {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} assume !false; {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} is VALID [2022-04-28 12:24:54,037 INFO L290 TraceCheckUtils]: 61: Hoare triple {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {8668#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} is VALID [2022-04-28 12:24:54,038 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {8361#true} {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} #97#return; {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:24:54,038 INFO L290 TraceCheckUtils]: 59: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:54,038 INFO L290 TraceCheckUtils]: 58: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:54,038 INFO L290 TraceCheckUtils]: 57: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:54,038 INFO L272 TraceCheckUtils]: 56: Hoare triple {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:54,039 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {8361#true} {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} #95#return; {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:24:54,039 INFO L290 TraceCheckUtils]: 54: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:54,039 INFO L290 TraceCheckUtils]: 53: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:54,039 INFO L290 TraceCheckUtils]: 52: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:54,039 INFO L272 TraceCheckUtils]: 51: Hoare triple {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:54,039 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8361#true} {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} #93#return; {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:24:54,040 INFO L290 TraceCheckUtils]: 49: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:54,040 INFO L290 TraceCheckUtils]: 48: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:54,040 INFO L290 TraceCheckUtils]: 47: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:54,040 INFO L272 TraceCheckUtils]: 46: Hoare triple {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:54,040 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8361#true} {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} #91#return; {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:24:54,040 INFO L290 TraceCheckUtils]: 44: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:54,040 INFO L290 TraceCheckUtils]: 43: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:54,040 INFO L290 TraceCheckUtils]: 42: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:54,041 INFO L272 TraceCheckUtils]: 41: Hoare triple {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:54,041 INFO L290 TraceCheckUtils]: 40: Hoare triple {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} assume !false; {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:24:54,041 INFO L290 TraceCheckUtils]: 39: Hoare triple {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {8735#(or (<= (* main_~b~0 2) main_~c~0) (= (+ (* main_~q~0 main_~x~0) (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:24:54,042 INFO L290 TraceCheckUtils]: 38: Hoare triple {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} assume !false; {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-28 12:24:54,042 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {8361#true} {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} #89#return; {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-28 12:24:54,042 INFO L290 TraceCheckUtils]: 36: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:54,042 INFO L290 TraceCheckUtils]: 35: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:54,042 INFO L290 TraceCheckUtils]: 34: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:54,042 INFO L272 TraceCheckUtils]: 33: Hoare triple {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:54,043 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8361#true} {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} #87#return; {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-28 12:24:54,043 INFO L290 TraceCheckUtils]: 31: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:54,043 INFO L290 TraceCheckUtils]: 30: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:54,043 INFO L290 TraceCheckUtils]: 29: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:54,043 INFO L272 TraceCheckUtils]: 28: Hoare triple {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:54,044 INFO L290 TraceCheckUtils]: 27: Hoare triple {8361#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {8802#(or (= (+ (* main_~q~0 main_~x~0) (* main_~q~0 main_~x~0 0) (* main_~y~0 main_~s~0 0) (* main_~y~0 main_~s~0)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~b~0 main_~a~0)) (<= (* main_~b~0 2) main_~a~0))} is VALID [2022-04-28 12:24:54,044 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8361#true} {8361#true} #85#return; {8361#true} is VALID [2022-04-28 12:24:54,044 INFO L290 TraceCheckUtils]: 25: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:54,044 INFO L290 TraceCheckUtils]: 24: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:54,044 INFO L290 TraceCheckUtils]: 23: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:54,044 INFO L272 TraceCheckUtils]: 22: Hoare triple {8361#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:54,044 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8361#true} {8361#true} #83#return; {8361#true} is VALID [2022-04-28 12:24:54,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:54,044 INFO L290 TraceCheckUtils]: 19: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:54,044 INFO L290 TraceCheckUtils]: 18: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:54,044 INFO L272 TraceCheckUtils]: 17: Hoare triple {8361#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:54,044 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8361#true} {8361#true} #81#return; {8361#true} is VALID [2022-04-28 12:24:54,044 INFO L290 TraceCheckUtils]: 15: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:54,044 INFO L290 TraceCheckUtils]: 14: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:54,045 INFO L290 TraceCheckUtils]: 13: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:54,045 INFO L272 TraceCheckUtils]: 12: Hoare triple {8361#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:54,045 INFO L290 TraceCheckUtils]: 11: Hoare triple {8361#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8361#true} is VALID [2022-04-28 12:24:54,045 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8361#true} {8361#true} #79#return; {8361#true} is VALID [2022-04-28 12:24:54,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:54,045 INFO L290 TraceCheckUtils]: 8: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-28 12:24:54,045 INFO L290 TraceCheckUtils]: 7: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-28 12:24:54,045 INFO L272 TraceCheckUtils]: 6: Hoare triple {8361#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {8361#true} is VALID [2022-04-28 12:24:54,045 INFO L290 TraceCheckUtils]: 5: Hoare triple {8361#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {8361#true} is VALID [2022-04-28 12:24:54,045 INFO L272 TraceCheckUtils]: 4: Hoare triple {8361#true} call #t~ret6 := main(); {8361#true} is VALID [2022-04-28 12:24:54,045 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8361#true} {8361#true} #103#return; {8361#true} is VALID [2022-04-28 12:24:54,045 INFO L290 TraceCheckUtils]: 2: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-28 12:24:54,045 INFO L290 TraceCheckUtils]: 1: Hoare triple {8361#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); {8361#true} is VALID [2022-04-28 12:24:54,045 INFO L272 TraceCheckUtils]: 0: Hoare triple {8361#true} call ULTIMATE.init(); {8361#true} is VALID [2022-04-28 12:24:54,046 INFO L134 CoverageAnalysis]: Checked inductivity of 196 backedges. 16 proven. 8 refuted. 0 times theorem prover too weak. 172 trivial. 0 not checked. [2022-04-28 12:24:54,046 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:24:54,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1421467924] [2022-04-28 12:24:54,046 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:24:54,046 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1939044449] [2022-04-28 12:24:54,046 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1939044449] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:24:54,047 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:24:54,047 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-28 12:24:54,047 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:24:54,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [835145314] [2022-04-28 12:24:54,047 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [835145314] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:24:54,047 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:24:54,047 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:24:54,047 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [973372889] [2022-04-28 12:24:54,047 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:24:54,048 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) Word has length 91 [2022-04-28 12:24:54,048 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:24:54,048 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-28 12:24:54,098 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:54,098 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:24:54,098 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:54,098 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:24:54,098 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=194, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:24:54,099 INFO L87 Difference]: Start difference. First operand 134 states and 178 transitions. Second operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-28 12:24:55,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:55,614 INFO L93 Difference]: Finished difference Result 161 states and 214 transitions. [2022-04-28 12:24:55,614 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 12:24:55,614 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) Word has length 91 [2022-04-28 12:24:55,614 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:24:55,615 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-28 12:24:55,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 105 transitions. [2022-04-28 12:24:55,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-28 12:24:55,634 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 105 transitions. [2022-04-28 12:24:55,634 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 105 transitions. [2022-04-28 12:24:55,698 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:55,702 INFO L225 Difference]: With dead ends: 161 [2022-04-28 12:24:55,702 INFO L226 Difference]: Without dead ends: 158 [2022-04-28 12:24:55,702 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 166 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=88, Invalid=332, Unknown=0, NotChecked=0, Total=420 [2022-04-28 12:24:55,702 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 20 mSDsluCounter, 245 mSDsCounter, 0 mSdLazyCounter, 375 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 302 SdHoareTripleChecker+Invalid, 394 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 375 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:24:55,703 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [28 Valid, 302 Invalid, 394 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 375 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 12:24:55,703 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 158 states. [2022-04-28 12:24:55,878 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 158 to 157. [2022-04-28 12:24:55,878 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:24:55,879 INFO L82 GeneralOperation]: Start isEquivalent. First operand 158 states. Second operand has 157 states, 87 states have (on average 1.1724137931034482) internal successors, (102), 89 states have internal predecessors, (102), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 12:24:55,879 INFO L74 IsIncluded]: Start isIncluded. First operand 158 states. Second operand has 157 states, 87 states have (on average 1.1724137931034482) internal successors, (102), 89 states have internal predecessors, (102), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 12:24:55,879 INFO L87 Difference]: Start difference. First operand 158 states. Second operand has 157 states, 87 states have (on average 1.1724137931034482) internal successors, (102), 89 states have internal predecessors, (102), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 12:24:55,897 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:55,897 INFO L93 Difference]: Finished difference Result 158 states and 210 transitions. [2022-04-28 12:24:55,897 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 210 transitions. [2022-04-28 12:24:55,898 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:55,898 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:55,898 INFO L74 IsIncluded]: Start isIncluded. First operand has 157 states, 87 states have (on average 1.1724137931034482) internal successors, (102), 89 states have internal predecessors, (102), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) Second operand 158 states. [2022-04-28 12:24:55,901 INFO L87 Difference]: Start difference. First operand has 157 states, 87 states have (on average 1.1724137931034482) internal successors, (102), 89 states have internal predecessors, (102), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) Second operand 158 states. [2022-04-28 12:24:55,904 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:55,904 INFO L93 Difference]: Finished difference Result 158 states and 210 transitions. [2022-04-28 12:24:55,919 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 210 transitions. [2022-04-28 12:24:55,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:55,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:55,920 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:24:55,920 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:24:55,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 157 states, 87 states have (on average 1.1724137931034482) internal successors, (102), 89 states have internal predecessors, (102), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 12:24:55,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 209 transitions. [2022-04-28 12:24:55,924 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 209 transitions. Word has length 91 [2022-04-28 12:24:55,924 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:24:55,924 INFO L495 AbstractCegarLoop]: Abstraction has 157 states and 209 transitions. [2022-04-28 12:24:55,925 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 9 states have internal predecessors, (23), 5 states have call successors, (17), 2 states have call predecessors, (17), 1 states have return successors, (15), 4 states have call predecessors, (15), 4 states have call successors, (15) [2022-04-28 12:24:55,925 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 209 transitions. [2022-04-28 12:24:56,261 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 209 edges. 209 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:56,262 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 209 transitions. [2022-04-28 12:24:56,262 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-28 12:24:56,262 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:24:56,262 INFO L195 NwaCegarLoop]: trace histogram [10, 9, 9, 6, 6, 6, 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, 1, 1, 1, 1] [2022-04-28 12:24:56,280 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 12:24:56,463 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 12:24:56,463 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:24:56,463 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:24:56,463 INFO L85 PathProgramCache]: Analyzing trace with hash -663071842, now seen corresponding path program 7 times [2022-04-28 12:24:56,463 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:56,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [331624111] [2022-04-28 12:24:56,464 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:24:56,464 INFO L85 PathProgramCache]: Analyzing trace with hash -663071842, now seen corresponding path program 8 times [2022-04-28 12:24:56,464 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:24:56,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2133028346] [2022-04-28 12:24:56,464 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:24:56,464 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:24:56,480 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:24:56,480 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1321949239] [2022-04-28 12:24:56,480 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:24:56,480 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:24:56,481 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:24:56,481 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 12:24:56,482 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 12:24:56,529 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:24:56,529 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:24:56,530 INFO L263 TraceCheckSpWp]: Trace formula consists of 262 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-28 12:24:56,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:24:56,543 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:24:56,779 INFO L272 TraceCheckUtils]: 0: Hoare triple {9884#true} call ULTIMATE.init(); {9884#true} is VALID [2022-04-28 12:24:56,780 INFO L290 TraceCheckUtils]: 1: Hoare triple {9884#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); {9884#true} is VALID [2022-04-28 12:24:56,780 INFO L290 TraceCheckUtils]: 2: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 12:24:56,780 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9884#true} {9884#true} #103#return; {9884#true} is VALID [2022-04-28 12:24:56,780 INFO L272 TraceCheckUtils]: 4: Hoare triple {9884#true} call #t~ret6 := main(); {9884#true} is VALID [2022-04-28 12:24:56,780 INFO L290 TraceCheckUtils]: 5: Hoare triple {9884#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {9884#true} is VALID [2022-04-28 12:24:56,780 INFO L272 TraceCheckUtils]: 6: Hoare triple {9884#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {9884#true} is VALID [2022-04-28 12:24:56,780 INFO L290 TraceCheckUtils]: 7: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 12:24:56,780 INFO L290 TraceCheckUtils]: 8: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 12:24:56,780 INFO L290 TraceCheckUtils]: 9: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 12:24:56,780 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9884#true} {9884#true} #79#return; {9884#true} is VALID [2022-04-28 12:24:56,781 INFO L290 TraceCheckUtils]: 11: Hoare triple {9884#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {9884#true} is VALID [2022-04-28 12:24:56,781 INFO L272 TraceCheckUtils]: 12: Hoare triple {9884#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {9884#true} is VALID [2022-04-28 12:24:56,781 INFO L290 TraceCheckUtils]: 13: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 12:24:56,781 INFO L290 TraceCheckUtils]: 14: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 12:24:56,781 INFO L290 TraceCheckUtils]: 15: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 12:24:56,781 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9884#true} {9884#true} #81#return; {9884#true} is VALID [2022-04-28 12:24:56,781 INFO L272 TraceCheckUtils]: 17: Hoare triple {9884#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9884#true} is VALID [2022-04-28 12:24:56,781 INFO L290 TraceCheckUtils]: 18: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 12:24:56,781 INFO L290 TraceCheckUtils]: 19: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 12:24:56,781 INFO L290 TraceCheckUtils]: 20: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 12:24:56,781 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9884#true} {9884#true} #83#return; {9884#true} is VALID [2022-04-28 12:24:56,781 INFO L272 TraceCheckUtils]: 22: Hoare triple {9884#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9884#true} is VALID [2022-04-28 12:24:56,782 INFO L290 TraceCheckUtils]: 23: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 12:24:56,782 INFO L290 TraceCheckUtils]: 24: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 12:24:56,782 INFO L290 TraceCheckUtils]: 25: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 12:24:56,782 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9884#true} {9884#true} #85#return; {9884#true} is VALID [2022-04-28 12:24:56,782 INFO L290 TraceCheckUtils]: 27: Hoare triple {9884#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {9884#true} is VALID [2022-04-28 12:24:56,782 INFO L272 TraceCheckUtils]: 28: Hoare triple {9884#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {9884#true} is VALID [2022-04-28 12:24:56,782 INFO L290 TraceCheckUtils]: 29: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 12:24:56,782 INFO L290 TraceCheckUtils]: 30: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 12:24:56,782 INFO L290 TraceCheckUtils]: 31: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 12:24:56,782 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9884#true} {9884#true} #87#return; {9884#true} is VALID [2022-04-28 12:24:56,782 INFO L272 TraceCheckUtils]: 33: Hoare triple {9884#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {9884#true} is VALID [2022-04-28 12:24:56,783 INFO L290 TraceCheckUtils]: 34: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 12:24:56,783 INFO L290 TraceCheckUtils]: 35: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 12:24:56,783 INFO L290 TraceCheckUtils]: 36: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 12:24:56,783 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9884#true} {9884#true} #89#return; {9884#true} is VALID [2022-04-28 12:24:56,783 INFO L290 TraceCheckUtils]: 38: Hoare triple {9884#true} assume !false; {9884#true} is VALID [2022-04-28 12:24:56,783 INFO L290 TraceCheckUtils]: 39: Hoare triple {9884#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9884#true} is VALID [2022-04-28 12:24:56,783 INFO L290 TraceCheckUtils]: 40: Hoare triple {9884#true} assume !false; {9884#true} is VALID [2022-04-28 12:24:56,783 INFO L272 TraceCheckUtils]: 41: Hoare triple {9884#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9884#true} is VALID [2022-04-28 12:24:56,783 INFO L290 TraceCheckUtils]: 42: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 12:24:56,783 INFO L290 TraceCheckUtils]: 43: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 12:24:56,783 INFO L290 TraceCheckUtils]: 44: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 12:24:56,783 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9884#true} {9884#true} #91#return; {9884#true} is VALID [2022-04-28 12:24:56,784 INFO L272 TraceCheckUtils]: 46: Hoare triple {9884#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9884#true} is VALID [2022-04-28 12:24:56,784 INFO L290 TraceCheckUtils]: 47: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 12:24:56,784 INFO L290 TraceCheckUtils]: 48: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 12:24:56,784 INFO L290 TraceCheckUtils]: 49: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 12:24:56,784 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9884#true} {9884#true} #93#return; {9884#true} is VALID [2022-04-28 12:24:56,784 INFO L272 TraceCheckUtils]: 51: Hoare triple {9884#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9884#true} is VALID [2022-04-28 12:24:56,784 INFO L290 TraceCheckUtils]: 52: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 12:24:56,784 INFO L290 TraceCheckUtils]: 53: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 12:24:56,784 INFO L290 TraceCheckUtils]: 54: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 12:24:56,784 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9884#true} {9884#true} #95#return; {9884#true} is VALID [2022-04-28 12:24:56,784 INFO L272 TraceCheckUtils]: 56: Hoare triple {9884#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9884#true} is VALID [2022-04-28 12:24:56,784 INFO L290 TraceCheckUtils]: 57: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 12:24:56,784 INFO L290 TraceCheckUtils]: 58: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 12:24:56,785 INFO L290 TraceCheckUtils]: 59: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 12:24:56,785 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9884#true} {9884#true} #97#return; {9884#true} is VALID [2022-04-28 12:24:56,785 INFO L290 TraceCheckUtils]: 61: Hoare triple {9884#true} assume !(~c~0 >= ~b~0); {10072#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:24:56,785 INFO L290 TraceCheckUtils]: 62: Hoare triple {10072#(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; {10076#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:24:56,786 INFO L290 TraceCheckUtils]: 63: Hoare triple {10076#(< main_~b~0 main_~a~0)} assume !false; {10076#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:24:56,786 INFO L290 TraceCheckUtils]: 64: Hoare triple {10076#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {10083#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:56,786 INFO L290 TraceCheckUtils]: 65: Hoare triple {10083#(< main_~b~0 main_~c~0)} assume !false; {10083#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:56,786 INFO L272 TraceCheckUtils]: 66: Hoare triple {10083#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9884#true} is VALID [2022-04-28 12:24:56,786 INFO L290 TraceCheckUtils]: 67: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 12:24:56,786 INFO L290 TraceCheckUtils]: 68: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 12:24:56,787 INFO L290 TraceCheckUtils]: 69: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 12:24:56,787 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {9884#true} {10083#(< main_~b~0 main_~c~0)} #91#return; {10083#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:56,787 INFO L272 TraceCheckUtils]: 71: Hoare triple {10083#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9884#true} is VALID [2022-04-28 12:24:56,787 INFO L290 TraceCheckUtils]: 72: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 12:24:56,787 INFO L290 TraceCheckUtils]: 73: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 12:24:56,787 INFO L290 TraceCheckUtils]: 74: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 12:24:56,788 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {9884#true} {10083#(< main_~b~0 main_~c~0)} #93#return; {10083#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:56,788 INFO L272 TraceCheckUtils]: 76: Hoare triple {10083#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9884#true} is VALID [2022-04-28 12:24:56,788 INFO L290 TraceCheckUtils]: 77: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 12:24:56,788 INFO L290 TraceCheckUtils]: 78: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 12:24:56,788 INFO L290 TraceCheckUtils]: 79: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 12:24:56,789 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {9884#true} {10083#(< main_~b~0 main_~c~0)} #95#return; {10083#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:56,789 INFO L272 TraceCheckUtils]: 81: Hoare triple {10083#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {9884#true} is VALID [2022-04-28 12:24:56,789 INFO L290 TraceCheckUtils]: 82: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-28 12:24:56,789 INFO L290 TraceCheckUtils]: 83: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-28 12:24:56,789 INFO L290 TraceCheckUtils]: 84: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-28 12:24:56,790 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {9884#true} {10083#(< main_~b~0 main_~c~0)} #97#return; {10083#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:24:56,791 INFO L290 TraceCheckUtils]: 86: Hoare triple {10083#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {9885#false} is VALID [2022-04-28 12:24:56,791 INFO L290 TraceCheckUtils]: 87: Hoare triple {9885#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; {9885#false} is VALID [2022-04-28 12:24:56,791 INFO L290 TraceCheckUtils]: 88: Hoare triple {9885#false} assume !false; {9885#false} is VALID [2022-04-28 12:24:56,791 INFO L290 TraceCheckUtils]: 89: Hoare triple {9885#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {9885#false} is VALID [2022-04-28 12:24:56,791 INFO L290 TraceCheckUtils]: 90: Hoare triple {9885#false} assume !false; {9885#false} is VALID [2022-04-28 12:24:56,791 INFO L272 TraceCheckUtils]: 91: Hoare triple {9885#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {9885#false} is VALID [2022-04-28 12:24:56,791 INFO L290 TraceCheckUtils]: 92: Hoare triple {9885#false} ~cond := #in~cond; {9885#false} is VALID [2022-04-28 12:24:56,791 INFO L290 TraceCheckUtils]: 93: Hoare triple {9885#false} assume !(0 == ~cond); {9885#false} is VALID [2022-04-28 12:24:56,791 INFO L290 TraceCheckUtils]: 94: Hoare triple {9885#false} assume true; {9885#false} is VALID [2022-04-28 12:24:56,791 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {9885#false} {9885#false} #91#return; {9885#false} is VALID [2022-04-28 12:24:56,791 INFO L272 TraceCheckUtils]: 96: Hoare triple {9885#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9885#false} is VALID [2022-04-28 12:24:56,791 INFO L290 TraceCheckUtils]: 97: Hoare triple {9885#false} ~cond := #in~cond; {9885#false} is VALID [2022-04-28 12:24:56,791 INFO L290 TraceCheckUtils]: 98: Hoare triple {9885#false} assume 0 == ~cond; {9885#false} is VALID [2022-04-28 12:24:56,792 INFO L290 TraceCheckUtils]: 99: Hoare triple {9885#false} assume !false; {9885#false} is VALID [2022-04-28 12:24:56,792 INFO L134 CoverageAnalysis]: Checked inductivity of 241 backedges. 67 proven. 0 refuted. 0 times theorem prover too weak. 174 trivial. 0 not checked. [2022-04-28 12:24:56,792 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 12:24:56,792 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:24:56,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2133028346] [2022-04-28 12:24:56,792 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:24:56,792 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1321949239] [2022-04-28 12:24:56,792 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1321949239] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:24:56,792 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:24:56,792 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:24:56,793 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:24:56,793 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [331624111] [2022-04-28 12:24:56,793 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [331624111] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:24:56,793 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:24:56,793 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-28 12:24:56,793 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1173702962] [2022-04-28 12:24:56,793 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:24:56,793 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) Word has length 100 [2022-04-28 12:24:56,793 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:24:56,794 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-28 12:24:56,841 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:56,841 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-28 12:24:56,841 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:56,841 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-28 12:24:56,842 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-28 12:24:56,842 INFO L87 Difference]: Start difference. First operand 157 states and 209 transitions. Second operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-28 12:24:57,420 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:57,420 INFO L93 Difference]: Finished difference Result 205 states and 283 transitions. [2022-04-28 12:24:57,420 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-28 12:24:57,420 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) Word has length 100 [2022-04-28 12:24:57,420 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:24:57,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-28 12:24:57,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 94 transitions. [2022-04-28 12:24:57,422 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-28 12:24:57,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 94 transitions. [2022-04-28 12:24:57,422 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 94 transitions. [2022-04-28 12:24:57,534 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:57,536 INFO L225 Difference]: With dead ends: 205 [2022-04-28 12:24:57,537 INFO L226 Difference]: Without dead ends: 160 [2022-04-28 12:24:57,539 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 96 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 12:24:57,539 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 6 mSDsluCounter, 105 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 11 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 74 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:24:57,540 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [11 Valid, 163 Invalid, 74 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:24:57,540 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-04-28 12:24:57,836 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 151. [2022-04-28 12:24:57,837 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:24:57,837 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 151 states, 81 states have (on average 1.123456790123457) internal successors, (91), 83 states have internal predecessors, (91), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 12:24:57,837 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 151 states, 81 states have (on average 1.123456790123457) internal successors, (91), 83 states have internal predecessors, (91), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 12:24:57,838 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 151 states, 81 states have (on average 1.123456790123457) internal successors, (91), 83 states have internal predecessors, (91), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 12:24:57,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:57,841 INFO L93 Difference]: Finished difference Result 160 states and 212 transitions. [2022-04-28 12:24:57,841 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 212 transitions. [2022-04-28 12:24:57,842 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:57,842 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:57,843 INFO L74 IsIncluded]: Start isIncluded. First operand has 151 states, 81 states have (on average 1.123456790123457) internal successors, (91), 83 states have internal predecessors, (91), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) Second operand 160 states. [2022-04-28 12:24:57,843 INFO L87 Difference]: Start difference. First operand has 151 states, 81 states have (on average 1.123456790123457) internal successors, (91), 83 states have internal predecessors, (91), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) Second operand 160 states. [2022-04-28 12:24:57,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:24:57,846 INFO L93 Difference]: Finished difference Result 160 states and 212 transitions. [2022-04-28 12:24:57,847 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 212 transitions. [2022-04-28 12:24:57,847 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:24:57,847 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:24:57,847 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:24:57,847 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:24:57,847 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 151 states, 81 states have (on average 1.123456790123457) internal successors, (91), 83 states have internal predecessors, (91), 55 states have call successors, (55), 15 states have call predecessors, (55), 14 states have return successors, (52), 52 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-28 12:24:57,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 151 states to 151 states and 198 transitions. [2022-04-28 12:24:57,851 INFO L78 Accepts]: Start accepts. Automaton has 151 states and 198 transitions. Word has length 100 [2022-04-28 12:24:57,851 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:24:57,851 INFO L495 AbstractCegarLoop]: Abstraction has 151 states and 198 transitions. [2022-04-28 12:24:57,851 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 5.8) internal successors, (29), 5 states have internal predecessors, (29), 3 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 3 states have call predecessors, (16), 3 states have call successors, (16) [2022-04-28 12:24:57,851 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 151 states and 198 transitions. [2022-04-28 12:24:58,240 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 198 edges. 198 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:58,240 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 198 transitions. [2022-04-28 12:24:58,241 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-28 12:24:58,241 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:24:58,241 INFO L195 NwaCegarLoop]: trace histogram [12, 11, 11, 6, 6, 6, 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] [2022-04-28 12:24:58,273 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 12:24:58,441 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 12:24:58,441 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:24:58,442 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:24:58,442 INFO L85 PathProgramCache]: Analyzing trace with hash -428114403, now seen corresponding path program 1 times [2022-04-28 12:24:58,442 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:58,442 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [852224992] [2022-04-28 12:24:58,442 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:24:58,442 INFO L85 PathProgramCache]: Analyzing trace with hash -428114403, now seen corresponding path program 2 times [2022-04-28 12:24:58,442 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:24:58,442 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [862751559] [2022-04-28 12:24:58,442 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:24:58,443 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:24:58,454 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:24:58,454 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1914884596] [2022-04-28 12:24:58,454 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:24:58,455 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:24:58,455 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:24:58,465 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 12:24:58,476 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 12:24:58,526 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:24:58,526 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:24:58,527 INFO L263 TraceCheckSpWp]: Trace formula consists of 264 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-28 12:24:58,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:24:58,544 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:24:59,045 INFO L272 TraceCheckUtils]: 0: Hoare triple {11224#true} call ULTIMATE.init(); {11224#true} is VALID [2022-04-28 12:24:59,046 INFO L290 TraceCheckUtils]: 1: Hoare triple {11224#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); {11224#true} is VALID [2022-04-28 12:24:59,046 INFO L290 TraceCheckUtils]: 2: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,046 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11224#true} {11224#true} #103#return; {11224#true} is VALID [2022-04-28 12:24:59,046 INFO L272 TraceCheckUtils]: 4: Hoare triple {11224#true} call #t~ret6 := main(); {11224#true} is VALID [2022-04-28 12:24:59,046 INFO L290 TraceCheckUtils]: 5: Hoare triple {11224#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11224#true} is VALID [2022-04-28 12:24:59,046 INFO L272 TraceCheckUtils]: 6: Hoare triple {11224#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,047 INFO L290 TraceCheckUtils]: 7: Hoare triple {11224#true} ~cond := #in~cond; {11250#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:24:59,047 INFO L290 TraceCheckUtils]: 8: Hoare triple {11250#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {11254#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:24:59,047 INFO L290 TraceCheckUtils]: 9: Hoare triple {11254#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11254#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:24:59,048 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11254#(not (= |assume_abort_if_not_#in~cond| 0))} {11224#true} #79#return; {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:24:59,048 INFO L290 TraceCheckUtils]: 11: Hoare triple {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:24:59,048 INFO L272 TraceCheckUtils]: 12: Hoare triple {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,048 INFO L290 TraceCheckUtils]: 13: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,048 INFO L290 TraceCheckUtils]: 14: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,048 INFO L290 TraceCheckUtils]: 15: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,049 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11224#true} {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #81#return; {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:24:59,049 INFO L272 TraceCheckUtils]: 17: Hoare triple {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,049 INFO L290 TraceCheckUtils]: 18: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,049 INFO L290 TraceCheckUtils]: 19: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,049 INFO L290 TraceCheckUtils]: 20: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,049 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11224#true} {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #83#return; {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:24:59,050 INFO L272 TraceCheckUtils]: 22: Hoare triple {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,050 INFO L290 TraceCheckUtils]: 23: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,050 INFO L290 TraceCheckUtils]: 24: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,050 INFO L290 TraceCheckUtils]: 25: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,050 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11224#true} {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #85#return; {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:24:59,051 INFO L290 TraceCheckUtils]: 27: Hoare triple {11261#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 12:24:59,051 INFO L272 TraceCheckUtils]: 28: Hoare triple {11313#(<= main_~a~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,051 INFO L290 TraceCheckUtils]: 29: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,051 INFO L290 TraceCheckUtils]: 30: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,051 INFO L290 TraceCheckUtils]: 31: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,051 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11224#true} {11313#(<= main_~a~0 2)} #87#return; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 12:24:59,051 INFO L272 TraceCheckUtils]: 33: Hoare triple {11313#(<= main_~a~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,051 INFO L290 TraceCheckUtils]: 34: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,051 INFO L290 TraceCheckUtils]: 35: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,052 INFO L290 TraceCheckUtils]: 36: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,052 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11224#true} {11313#(<= main_~a~0 2)} #89#return; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 12:24:59,052 INFO L290 TraceCheckUtils]: 38: Hoare triple {11313#(<= main_~a~0 2)} assume !false; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 12:24:59,053 INFO L290 TraceCheckUtils]: 39: Hoare triple {11313#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 12:24:59,053 INFO L290 TraceCheckUtils]: 40: Hoare triple {11350#(<= main_~c~0 2)} assume !false; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 12:24:59,053 INFO L272 TraceCheckUtils]: 41: Hoare triple {11350#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,053 INFO L290 TraceCheckUtils]: 42: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,053 INFO L290 TraceCheckUtils]: 43: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,053 INFO L290 TraceCheckUtils]: 44: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,054 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #91#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 12:24:59,054 INFO L272 TraceCheckUtils]: 46: Hoare triple {11350#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,054 INFO L290 TraceCheckUtils]: 47: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,054 INFO L290 TraceCheckUtils]: 48: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,054 INFO L290 TraceCheckUtils]: 49: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,055 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #93#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 12:24:59,055 INFO L272 TraceCheckUtils]: 51: Hoare triple {11350#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,055 INFO L290 TraceCheckUtils]: 52: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,055 INFO L290 TraceCheckUtils]: 53: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,055 INFO L290 TraceCheckUtils]: 54: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,055 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #95#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 12:24:59,056 INFO L272 TraceCheckUtils]: 56: Hoare triple {11350#(<= main_~c~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,056 INFO L290 TraceCheckUtils]: 57: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,056 INFO L290 TraceCheckUtils]: 58: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,056 INFO L290 TraceCheckUtils]: 59: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,056 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #97#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 12:24:59,057 INFO L290 TraceCheckUtils]: 61: Hoare triple {11350#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-28 12:24:59,058 INFO L290 TraceCheckUtils]: 62: Hoare triple {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} assume !false; {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-28 12:24:59,058 INFO L272 TraceCheckUtils]: 63: Hoare triple {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,058 INFO L290 TraceCheckUtils]: 64: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,058 INFO L290 TraceCheckUtils]: 65: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,058 INFO L290 TraceCheckUtils]: 66: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,058 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11224#true} {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} #91#return; {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-28 12:24:59,058 INFO L272 TraceCheckUtils]: 68: Hoare triple {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,059 INFO L290 TraceCheckUtils]: 69: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,059 INFO L290 TraceCheckUtils]: 70: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,059 INFO L290 TraceCheckUtils]: 71: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,059 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11224#true} {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} #93#return; {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-28 12:24:59,059 INFO L272 TraceCheckUtils]: 73: Hoare triple {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,060 INFO L290 TraceCheckUtils]: 74: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,060 INFO L290 TraceCheckUtils]: 75: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,060 INFO L290 TraceCheckUtils]: 76: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,060 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {11224#true} {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} #95#return; {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-28 12:24:59,060 INFO L272 TraceCheckUtils]: 78: Hoare triple {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,060 INFO L290 TraceCheckUtils]: 79: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,060 INFO L290 TraceCheckUtils]: 80: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,061 INFO L290 TraceCheckUtils]: 81: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,061 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {11224#true} {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} #97#return; {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} is VALID [2022-04-28 12:24:59,062 INFO L290 TraceCheckUtils]: 83: Hoare triple {11417#(and (<= 0 main_~c~0) (<= (+ main_~c~0 main_~b~0) 2))} assume !(~c~0 >= ~b~0); {11484#(and (< (* main_~c~0 2) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 12:24:59,062 INFO L290 TraceCheckUtils]: 84: Hoare triple {11484#(and (< (* main_~c~0 2) 2) (<= 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; {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} is VALID [2022-04-28 12:24:59,063 INFO L290 TraceCheckUtils]: 85: Hoare triple {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} assume !false; {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} is VALID [2022-04-28 12:24:59,063 INFO L290 TraceCheckUtils]: 86: Hoare triple {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11225#false} is VALID [2022-04-28 12:24:59,063 INFO L290 TraceCheckUtils]: 87: Hoare triple {11225#false} assume !false; {11225#false} is VALID [2022-04-28 12:24:59,063 INFO L272 TraceCheckUtils]: 88: Hoare triple {11225#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11225#false} is VALID [2022-04-28 12:24:59,063 INFO L290 TraceCheckUtils]: 89: Hoare triple {11225#false} ~cond := #in~cond; {11225#false} is VALID [2022-04-28 12:24:59,064 INFO L290 TraceCheckUtils]: 90: Hoare triple {11225#false} assume !(0 == ~cond); {11225#false} is VALID [2022-04-28 12:24:59,064 INFO L290 TraceCheckUtils]: 91: Hoare triple {11225#false} assume true; {11225#false} is VALID [2022-04-28 12:24:59,064 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {11225#false} {11225#false} #91#return; {11225#false} is VALID [2022-04-28 12:24:59,064 INFO L272 TraceCheckUtils]: 93: Hoare triple {11225#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11225#false} is VALID [2022-04-28 12:24:59,064 INFO L290 TraceCheckUtils]: 94: Hoare triple {11225#false} ~cond := #in~cond; {11225#false} is VALID [2022-04-28 12:24:59,064 INFO L290 TraceCheckUtils]: 95: Hoare triple {11225#false} assume !(0 == ~cond); {11225#false} is VALID [2022-04-28 12:24:59,064 INFO L290 TraceCheckUtils]: 96: Hoare triple {11225#false} assume true; {11225#false} is VALID [2022-04-28 12:24:59,064 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {11225#false} {11225#false} #93#return; {11225#false} is VALID [2022-04-28 12:24:59,064 INFO L272 TraceCheckUtils]: 98: Hoare triple {11225#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11225#false} is VALID [2022-04-28 12:24:59,064 INFO L290 TraceCheckUtils]: 99: Hoare triple {11225#false} ~cond := #in~cond; {11225#false} is VALID [2022-04-28 12:24:59,064 INFO L290 TraceCheckUtils]: 100: Hoare triple {11225#false} assume !(0 == ~cond); {11225#false} is VALID [2022-04-28 12:24:59,064 INFO L290 TraceCheckUtils]: 101: Hoare triple {11225#false} assume true; {11225#false} is VALID [2022-04-28 12:24:59,064 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {11225#false} {11225#false} #95#return; {11225#false} is VALID [2022-04-28 12:24:59,064 INFO L272 TraceCheckUtils]: 103: Hoare triple {11225#false} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11225#false} is VALID [2022-04-28 12:24:59,065 INFO L290 TraceCheckUtils]: 104: Hoare triple {11225#false} ~cond := #in~cond; {11225#false} is VALID [2022-04-28 12:24:59,065 INFO L290 TraceCheckUtils]: 105: Hoare triple {11225#false} assume 0 == ~cond; {11225#false} is VALID [2022-04-28 12:24:59,065 INFO L290 TraceCheckUtils]: 106: Hoare triple {11225#false} assume !false; {11225#false} is VALID [2022-04-28 12:24:59,065 INFO L134 CoverageAnalysis]: Checked inductivity of 320 backedges. 122 proven. 23 refuted. 0 times theorem prover too weak. 175 trivial. 0 not checked. [2022-04-28 12:24:59,065 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:24:59,599 INFO L290 TraceCheckUtils]: 106: Hoare triple {11225#false} assume !false; {11225#false} is VALID [2022-04-28 12:24:59,600 INFO L290 TraceCheckUtils]: 105: Hoare triple {11225#false} assume 0 == ~cond; {11225#false} is VALID [2022-04-28 12:24:59,600 INFO L290 TraceCheckUtils]: 104: Hoare triple {11225#false} ~cond := #in~cond; {11225#false} is VALID [2022-04-28 12:24:59,600 INFO L272 TraceCheckUtils]: 103: Hoare triple {11225#false} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11225#false} is VALID [2022-04-28 12:24:59,600 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {11224#true} {11225#false} #95#return; {11225#false} is VALID [2022-04-28 12:24:59,600 INFO L290 TraceCheckUtils]: 101: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,600 INFO L290 TraceCheckUtils]: 100: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,600 INFO L290 TraceCheckUtils]: 99: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,600 INFO L272 TraceCheckUtils]: 98: Hoare triple {11225#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,600 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {11224#true} {11225#false} #93#return; {11225#false} is VALID [2022-04-28 12:24:59,600 INFO L290 TraceCheckUtils]: 96: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,600 INFO L290 TraceCheckUtils]: 95: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,600 INFO L290 TraceCheckUtils]: 94: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,600 INFO L272 TraceCheckUtils]: 93: Hoare triple {11225#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,600 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {11224#true} {11225#false} #91#return; {11225#false} is VALID [2022-04-28 12:24:59,601 INFO L290 TraceCheckUtils]: 91: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,601 INFO L290 TraceCheckUtils]: 90: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,601 INFO L290 TraceCheckUtils]: 89: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,601 INFO L272 TraceCheckUtils]: 88: Hoare triple {11225#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,601 INFO L290 TraceCheckUtils]: 87: Hoare triple {11225#false} assume !false; {11225#false} is VALID [2022-04-28 12:24:59,601 INFO L290 TraceCheckUtils]: 86: Hoare triple {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11225#false} is VALID [2022-04-28 12:24:59,602 INFO L290 TraceCheckUtils]: 85: Hoare triple {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} assume !false; {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} is VALID [2022-04-28 12:24:59,602 INFO L290 TraceCheckUtils]: 84: Hoare triple {11484#(and (< (* main_~c~0 2) 2) (<= 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; {11488#(and (< (* main_~b~0 2) 2) (<= 0 main_~b~0))} is VALID [2022-04-28 12:24:59,603 INFO L290 TraceCheckUtils]: 83: Hoare triple {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {11484#(and (< (* main_~c~0 2) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 12:24:59,603 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {11224#true} {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #97#return; {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:24:59,604 INFO L290 TraceCheckUtils]: 81: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,604 INFO L290 TraceCheckUtils]: 80: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,604 INFO L290 TraceCheckUtils]: 79: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,604 INFO L272 TraceCheckUtils]: 78: Hoare triple {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,604 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {11224#true} {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #95#return; {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:24:59,604 INFO L290 TraceCheckUtils]: 76: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,604 INFO L290 TraceCheckUtils]: 75: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,605 INFO L290 TraceCheckUtils]: 74: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,605 INFO L272 TraceCheckUtils]: 73: Hoare triple {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,605 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {11224#true} {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #93#return; {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:24:59,605 INFO L290 TraceCheckUtils]: 71: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,605 INFO L290 TraceCheckUtils]: 70: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,605 INFO L290 TraceCheckUtils]: 69: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,606 INFO L272 TraceCheckUtils]: 68: Hoare triple {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,606 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11224#true} {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #91#return; {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:24:59,606 INFO L290 TraceCheckUtils]: 66: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,606 INFO L290 TraceCheckUtils]: 65: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,606 INFO L290 TraceCheckUtils]: 64: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,606 INFO L272 TraceCheckUtils]: 63: Hoare triple {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,607 INFO L290 TraceCheckUtils]: 62: Hoare triple {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} assume !false; {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:24:59,608 INFO L290 TraceCheckUtils]: 61: Hoare triple {11350#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {11624#(or (and (< (* main_~c~0 2) 2) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:24:59,608 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #97#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 12:24:59,609 INFO L290 TraceCheckUtils]: 59: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,609 INFO L290 TraceCheckUtils]: 58: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,609 INFO L290 TraceCheckUtils]: 57: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,609 INFO L272 TraceCheckUtils]: 56: Hoare triple {11350#(<= main_~c~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,609 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #95#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 12:24:59,609 INFO L290 TraceCheckUtils]: 54: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,609 INFO L290 TraceCheckUtils]: 53: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,609 INFO L290 TraceCheckUtils]: 52: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,610 INFO L272 TraceCheckUtils]: 51: Hoare triple {11350#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,610 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #93#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 12:24:59,610 INFO L290 TraceCheckUtils]: 49: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,610 INFO L290 TraceCheckUtils]: 48: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,610 INFO L290 TraceCheckUtils]: 47: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,610 INFO L272 TraceCheckUtils]: 46: Hoare triple {11350#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,611 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #91#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 12:24:59,611 INFO L290 TraceCheckUtils]: 44: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,611 INFO L290 TraceCheckUtils]: 43: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,611 INFO L290 TraceCheckUtils]: 42: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,611 INFO L272 TraceCheckUtils]: 41: Hoare triple {11350#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,611 INFO L290 TraceCheckUtils]: 40: Hoare triple {11350#(<= main_~c~0 2)} assume !false; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 12:24:59,612 INFO L290 TraceCheckUtils]: 39: Hoare triple {11313#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {11350#(<= main_~c~0 2)} is VALID [2022-04-28 12:24:59,612 INFO L290 TraceCheckUtils]: 38: Hoare triple {11313#(<= main_~a~0 2)} assume !false; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 12:24:59,612 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11224#true} {11313#(<= main_~a~0 2)} #89#return; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 12:24:59,612 INFO L290 TraceCheckUtils]: 36: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,613 INFO L290 TraceCheckUtils]: 35: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,613 INFO L290 TraceCheckUtils]: 34: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,613 INFO L272 TraceCheckUtils]: 33: Hoare triple {11313#(<= main_~a~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,613 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11224#true} {11313#(<= main_~a~0 2)} #87#return; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 12:24:59,613 INFO L290 TraceCheckUtils]: 31: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,613 INFO L290 TraceCheckUtils]: 30: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,613 INFO L290 TraceCheckUtils]: 29: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,613 INFO L272 TraceCheckUtils]: 28: Hoare triple {11313#(<= main_~a~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,614 INFO L290 TraceCheckUtils]: 27: Hoare triple {11793#(<= main_~x~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {11313#(<= main_~a~0 2)} is VALID [2022-04-28 12:24:59,614 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11224#true} {11793#(<= main_~x~0 2)} #85#return; {11793#(<= main_~x~0 2)} is VALID [2022-04-28 12:24:59,614 INFO L290 TraceCheckUtils]: 25: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,614 INFO L290 TraceCheckUtils]: 24: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,614 INFO L290 TraceCheckUtils]: 23: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,614 INFO L272 TraceCheckUtils]: 22: Hoare triple {11793#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,615 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11224#true} {11793#(<= main_~x~0 2)} #83#return; {11793#(<= main_~x~0 2)} is VALID [2022-04-28 12:24:59,615 INFO L290 TraceCheckUtils]: 20: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,615 INFO L290 TraceCheckUtils]: 19: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,615 INFO L290 TraceCheckUtils]: 18: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,615 INFO L272 TraceCheckUtils]: 17: Hoare triple {11793#(<= main_~x~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,615 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11224#true} {11793#(<= main_~x~0 2)} #81#return; {11793#(<= main_~x~0 2)} is VALID [2022-04-28 12:24:59,615 INFO L290 TraceCheckUtils]: 15: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,616 INFO L290 TraceCheckUtils]: 14: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-28 12:24:59,616 INFO L290 TraceCheckUtils]: 13: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-28 12:24:59,616 INFO L272 TraceCheckUtils]: 12: Hoare triple {11793#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,616 INFO L290 TraceCheckUtils]: 11: Hoare triple {11793#(<= main_~x~0 2)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11793#(<= main_~x~0 2)} is VALID [2022-04-28 12:24:59,616 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11254#(not (= |assume_abort_if_not_#in~cond| 0))} {11224#true} #79#return; {11793#(<= main_~x~0 2)} is VALID [2022-04-28 12:24:59,617 INFO L290 TraceCheckUtils]: 9: Hoare triple {11254#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {11254#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:24:59,617 INFO L290 TraceCheckUtils]: 8: Hoare triple {11854#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {11254#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:24:59,617 INFO L290 TraceCheckUtils]: 7: Hoare triple {11224#true} ~cond := #in~cond; {11854#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:24:59,617 INFO L272 TraceCheckUtils]: 6: Hoare triple {11224#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {11224#true} is VALID [2022-04-28 12:24:59,617 INFO L290 TraceCheckUtils]: 5: Hoare triple {11224#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {11224#true} is VALID [2022-04-28 12:24:59,618 INFO L272 TraceCheckUtils]: 4: Hoare triple {11224#true} call #t~ret6 := main(); {11224#true} is VALID [2022-04-28 12:24:59,618 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11224#true} {11224#true} #103#return; {11224#true} is VALID [2022-04-28 12:24:59,618 INFO L290 TraceCheckUtils]: 2: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-28 12:24:59,618 INFO L290 TraceCheckUtils]: 1: Hoare triple {11224#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); {11224#true} is VALID [2022-04-28 12:24:59,618 INFO L272 TraceCheckUtils]: 0: Hoare triple {11224#true} call ULTIMATE.init(); {11224#true} is VALID [2022-04-28 12:24:59,618 INFO L134 CoverageAnalysis]: Checked inductivity of 320 backedges. 32 proven. 23 refuted. 0 times theorem prover too weak. 265 trivial. 0 not checked. [2022-04-28 12:24:59,618 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:24:59,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [862751559] [2022-04-28 12:24:59,618 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:24:59,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1914884596] [2022-04-28 12:24:59,619 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1914884596] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:24:59,619 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:24:59,619 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 13 [2022-04-28 12:24:59,619 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:24:59,619 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [852224992] [2022-04-28 12:24:59,619 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [852224992] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:24:59,619 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:24:59,619 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:24:59,619 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1672574449] [2022-04-28 12:24:59,619 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:24:59,620 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.9) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 6 states have call successors, (18) Word has length 107 [2022-04-28 12:24:59,620 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:24:59,620 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.9) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 12:24:59,671 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:24:59,671 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:24:59,671 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:24:59,671 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:24:59,672 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=127, Unknown=0, NotChecked=0, Total=156 [2022-04-28 12:24:59,672 INFO L87 Difference]: Start difference. First operand 151 states and 198 transitions. Second operand has 10 states, 10 states have (on average 2.9) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 12:25:00,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:25:00,651 INFO L93 Difference]: Finished difference Result 182 states and 237 transitions. [2022-04-28 12:25:00,651 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 12:25:00,651 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.9) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 6 states have call successors, (18) Word has length 107 [2022-04-28 12:25:00,651 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:25:00,651 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.9) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 12:25:00,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 111 transitions. [2022-04-28 12:25:00,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.9) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 12:25:00,654 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 111 transitions. [2022-04-28 12:25:00,654 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 111 transitions. [2022-04-28 12:25:00,712 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:25:00,714 INFO L225 Difference]: With dead ends: 182 [2022-04-28 12:25:00,714 INFO L226 Difference]: Without dead ends: 132 [2022-04-28 12:25:00,715 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 222 GetRequests, 200 SyntacticMatches, 2 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=107, Invalid=355, Unknown=0, NotChecked=0, Total=462 [2022-04-28 12:25:00,715 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 30 mSDsluCounter, 205 mSDsCounter, 0 mSdLazyCounter, 205 mSolverCounterSat, 46 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 257 SdHoareTripleChecker+Invalid, 251 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 46 IncrementalHoareTripleChecker+Valid, 205 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:25:00,715 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [34 Valid, 257 Invalid, 251 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [46 Valid, 205 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:25:00,715 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-28 12:25:00,915 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-28 12:25:00,915 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:25:00,916 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand has 132 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 73 states have internal predecessors, (79), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:25:00,916 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand has 132 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 73 states have internal predecessors, (79), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:25:00,916 INFO L87 Difference]: Start difference. First operand 132 states. Second operand has 132 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 73 states have internal predecessors, (79), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:25:00,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:25:00,919 INFO L93 Difference]: Finished difference Result 132 states and 170 transitions. [2022-04-28 12:25:00,919 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 170 transitions. [2022-04-28 12:25:00,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:25:00,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:25:00,920 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 73 states have internal predecessors, (79), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 132 states. [2022-04-28 12:25:00,920 INFO L87 Difference]: Start difference. First operand has 132 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 73 states have internal predecessors, (79), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 132 states. [2022-04-28 12:25:00,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:25:00,922 INFO L93 Difference]: Finished difference Result 132 states and 170 transitions. [2022-04-28 12:25:00,922 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 170 transitions. [2022-04-28 12:25:00,923 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:25:00,923 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:25:00,923 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:25:00,923 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:25:00,923 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 71 states have (on average 1.1126760563380282) internal successors, (79), 73 states have internal predecessors, (79), 47 states have call successors, (47), 14 states have call predecessors, (47), 13 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:25:00,925 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 170 transitions. [2022-04-28 12:25:00,925 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 170 transitions. Word has length 107 [2022-04-28 12:25:00,926 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:25:00,926 INFO L495 AbstractCegarLoop]: Abstraction has 132 states and 170 transitions. [2022-04-28 12:25:00,926 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.9) internal successors, (29), 10 states have internal predecessors, (29), 6 states have call successors, (20), 2 states have call predecessors, (20), 3 states have return successors, (18), 6 states have call predecessors, (18), 6 states have call successors, (18) [2022-04-28 12:25:00,926 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 170 transitions. [2022-04-28 12:25:01,189 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 170 edges. 170 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:25:01,189 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 170 transitions. [2022-04-28 12:25:01,203 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-28 12:25:01,203 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:25:01,203 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 6, 6, 6, 3, 3, 3, 3, 3, 3, 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, 1, 1, 1, 1, 1] [2022-04-28 12:25:01,230 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 12:25:01,427 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 12:25:01,427 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:25:01,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:25:01,428 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 3 times [2022-04-28 12:25:01,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:25:01,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1955786047] [2022-04-28 12:25:01,428 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:25:01,428 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 4 times [2022-04-28 12:25:01,428 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:25:01,428 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2092039753] [2022-04-28 12:25:01,428 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:25:01,429 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:25:01,438 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:25:01,438 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1209210811] [2022-04-28 12:25:01,438 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:25:01,438 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:25:01,438 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:25:01,439 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 12:25:01,440 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 12:25:01,496 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:25:01,497 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:25:01,498 INFO L263 TraceCheckSpWp]: Trace formula consists of 236 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-28 12:25:01,514 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:25:01,516 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:25:02,532 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:25:04,292 INFO L272 TraceCheckUtils]: 0: Hoare triple {12788#true} call ULTIMATE.init(); {12788#true} is VALID [2022-04-28 12:25:04,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {12788#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); {12788#true} is VALID [2022-04-28 12:25:04,292 INFO L290 TraceCheckUtils]: 2: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,292 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12788#true} {12788#true} #103#return; {12788#true} is VALID [2022-04-28 12:25:04,293 INFO L272 TraceCheckUtils]: 4: Hoare triple {12788#true} call #t~ret6 := main(); {12788#true} is VALID [2022-04-28 12:25:04,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {12788#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {12788#true} is VALID [2022-04-28 12:25:04,293 INFO L272 TraceCheckUtils]: 6: Hoare triple {12788#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:25:04,293 INFO L290 TraceCheckUtils]: 7: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:25:04,293 INFO L290 TraceCheckUtils]: 8: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:25:04,293 INFO L290 TraceCheckUtils]: 9: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,293 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12788#true} {12788#true} #79#return; {12788#true} is VALID [2022-04-28 12:25:04,293 INFO L290 TraceCheckUtils]: 11: Hoare triple {12788#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12788#true} is VALID [2022-04-28 12:25:04,293 INFO L272 TraceCheckUtils]: 12: Hoare triple {12788#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:25:04,293 INFO L290 TraceCheckUtils]: 13: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:25:04,293 INFO L290 TraceCheckUtils]: 14: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:25:04,293 INFO L290 TraceCheckUtils]: 15: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,293 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12788#true} {12788#true} #81#return; {12788#true} is VALID [2022-04-28 12:25:04,293 INFO L272 TraceCheckUtils]: 17: Hoare triple {12788#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:25:04,294 INFO L290 TraceCheckUtils]: 18: Hoare triple {12788#true} ~cond := #in~cond; {12847#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:25:04,294 INFO L290 TraceCheckUtils]: 19: Hoare triple {12847#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {12851#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:25:04,294 INFO L290 TraceCheckUtils]: 20: Hoare triple {12851#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {12851#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:25:04,295 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12851#(not (= |assume_abort_if_not_#in~cond| 0))} {12788#true} #83#return; {12858#(<= 1 main_~x~0)} is VALID [2022-04-28 12:25:04,295 INFO L272 TraceCheckUtils]: 22: Hoare triple {12858#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:25:04,295 INFO L290 TraceCheckUtils]: 23: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:25:04,295 INFO L290 TraceCheckUtils]: 24: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:25:04,295 INFO L290 TraceCheckUtils]: 25: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,296 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {12788#true} {12858#(<= 1 main_~x~0)} #85#return; {12858#(<= 1 main_~x~0)} is VALID [2022-04-28 12:25:04,296 INFO L290 TraceCheckUtils]: 27: Hoare triple {12858#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {12877#(and (= main_~r~0 0) (<= 1 main_~x~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 12:25:04,297 INFO L272 TraceCheckUtils]: 28: Hoare triple {12877#(and (= main_~r~0 0) (<= 1 main_~x~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))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:25:04,297 INFO L290 TraceCheckUtils]: 29: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:25:04,297 INFO L290 TraceCheckUtils]: 30: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:25:04,297 INFO L290 TraceCheckUtils]: 31: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,297 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12788#true} {12877#(and (= main_~r~0 0) (<= 1 main_~x~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))} #87#return; {12877#(and (= main_~r~0 0) (<= 1 main_~x~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 12:25:04,297 INFO L272 TraceCheckUtils]: 33: Hoare triple {12877#(and (= main_~r~0 0) (<= 1 main_~x~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))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:25:04,297 INFO L290 TraceCheckUtils]: 34: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:25:04,297 INFO L290 TraceCheckUtils]: 35: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:25:04,297 INFO L290 TraceCheckUtils]: 36: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,298 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {12788#true} {12877#(and (= main_~r~0 0) (<= 1 main_~x~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))} #89#return; {12877#(and (= main_~r~0 0) (<= 1 main_~x~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 12:25:04,298 INFO L290 TraceCheckUtils]: 38: Hoare triple {12877#(and (= main_~r~0 0) (<= 1 main_~x~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; {12877#(and (= main_~r~0 0) (<= 1 main_~x~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 12:25:04,298 INFO L290 TraceCheckUtils]: 39: Hoare triple {12877#(and (= main_~r~0 0) (<= 1 main_~x~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);~c~0 := ~a~0;~k~0 := 0; {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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 12:25:04,299 INFO L290 TraceCheckUtils]: 40: Hoare triple {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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; {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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 12:25:04,299 INFO L272 TraceCheckUtils]: 41: Hoare triple {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:25:04,299 INFO L290 TraceCheckUtils]: 42: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:25:04,299 INFO L290 TraceCheckUtils]: 43: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:25:04,299 INFO L290 TraceCheckUtils]: 44: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,299 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12788#true} {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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))} #91#return; {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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 12:25:04,300 INFO L272 TraceCheckUtils]: 46: Hoare triple {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:25:04,300 INFO L290 TraceCheckUtils]: 47: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:25:04,300 INFO L290 TraceCheckUtils]: 48: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:25:04,300 INFO L290 TraceCheckUtils]: 49: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,300 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12788#true} {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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))} #93#return; {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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 12:25:04,300 INFO L272 TraceCheckUtils]: 51: Hoare triple {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:25:04,301 INFO L290 TraceCheckUtils]: 52: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:25:04,301 INFO L290 TraceCheckUtils]: 53: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:25:04,301 INFO L290 TraceCheckUtils]: 54: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,301 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {12788#true} {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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))} #95#return; {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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 12:25:04,301 INFO L272 TraceCheckUtils]: 56: Hoare triple {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:25:04,301 INFO L290 TraceCheckUtils]: 57: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:25:04,301 INFO L290 TraceCheckUtils]: 58: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:25:04,301 INFO L290 TraceCheckUtils]: 59: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,302 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {12788#true} {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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))} #97#return; {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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 12:25:04,302 INFO L290 TraceCheckUtils]: 61: Hoare triple {12914#(and (= main_~r~0 0) (= main_~c~0 main_~a~0) (<= 1 main_~x~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);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {12981#(and (= main_~r~0 0) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= 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 12:25:04,303 INFO L290 TraceCheckUtils]: 62: Hoare triple {12981#(and (= main_~r~0 0) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {12981#(and (= main_~r~0 0) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= 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 12:25:04,303 INFO L272 TraceCheckUtils]: 63: Hoare triple {12981#(and (= main_~r~0 0) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= 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)); {12788#true} is VALID [2022-04-28 12:25:04,303 INFO L290 TraceCheckUtils]: 64: Hoare triple {12788#true} ~cond := #in~cond; {12991#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:25:04,303 INFO L290 TraceCheckUtils]: 65: Hoare triple {12991#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:25:04,303 INFO L290 TraceCheckUtils]: 66: Hoare triple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:25:04,304 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} {12981#(and (= main_~r~0 0) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #91#return; {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= 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 12:25:04,304 INFO L272 TraceCheckUtils]: 68: Hoare triple {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= 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)); {12788#true} is VALID [2022-04-28 12:25:04,304 INFO L290 TraceCheckUtils]: 69: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:25:04,304 INFO L290 TraceCheckUtils]: 70: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:25:04,304 INFO L290 TraceCheckUtils]: 71: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,305 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {12788#true} {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #93#return; {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= 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 12:25:04,305 INFO L272 TraceCheckUtils]: 73: Hoare triple {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= 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)); {12788#true} is VALID [2022-04-28 12:25:04,305 INFO L290 TraceCheckUtils]: 74: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:25:04,305 INFO L290 TraceCheckUtils]: 75: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:25:04,305 INFO L290 TraceCheckUtils]: 76: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,306 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {12788#true} {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #95#return; {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= 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 12:25:04,306 INFO L272 TraceCheckUtils]: 78: Hoare triple {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:25:04,306 INFO L290 TraceCheckUtils]: 79: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:25:04,306 INFO L290 TraceCheckUtils]: 80: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:25:04,306 INFO L290 TraceCheckUtils]: 81: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,307 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {12788#true} {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #97#return; {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= 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 12:25:04,308 INFO L290 TraceCheckUtils]: 83: Hoare triple {13002#(and (= main_~r~0 0) (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~k~0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= 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);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {13051#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:04,308 INFO L290 TraceCheckUtils]: 84: Hoare triple {13051#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} assume !false; {13051#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-28 12:25:04,308 INFO L272 TraceCheckUtils]: 85: Hoare triple {13051#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:25:04,308 INFO L290 TraceCheckUtils]: 86: Hoare triple {12788#true} ~cond := #in~cond; {12991#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:25:04,309 INFO L290 TraceCheckUtils]: 87: Hoare triple {12991#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:25:04,309 INFO L290 TraceCheckUtils]: 88: Hoare triple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:25:04,310 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} {13051#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= (+ main_~c~0 (* main_~b~0 2)) main_~a~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (<= (* main_~b~0 2) main_~a~0) (= main_~p~0 1))} #91#return; {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-28 12:25:04,310 INFO L272 TraceCheckUtils]: 90: Hoare triple {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:25:04,310 INFO L290 TraceCheckUtils]: 91: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:25:04,310 INFO L290 TraceCheckUtils]: 92: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:25:04,310 INFO L290 TraceCheckUtils]: 93: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,310 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {12788#true} {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} #93#return; {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-28 12:25:04,310 INFO L272 TraceCheckUtils]: 95: Hoare triple {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:25:04,311 INFO L290 TraceCheckUtils]: 96: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:25:04,311 INFO L290 TraceCheckUtils]: 97: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:25:04,311 INFO L290 TraceCheckUtils]: 98: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,311 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {12788#true} {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} #95#return; {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-28 12:25:04,311 INFO L272 TraceCheckUtils]: 100: Hoare triple {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:25:04,311 INFO L290 TraceCheckUtils]: 101: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:25:04,311 INFO L290 TraceCheckUtils]: 102: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:25:04,311 INFO L290 TraceCheckUtils]: 103: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:25:04,312 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {12788#true} {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} #97#return; {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} is VALID [2022-04-28 12:25:04,312 INFO L290 TraceCheckUtils]: 105: Hoare triple {13070#(and (= main_~r~0 0) (<= (* main_~b~0 2) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (<= 1 main_~x~0) (= main_~s~0 1) (<= 2 main_~k~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~c~0 (* main_~b~0 2)) (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {13119#(and (= main_~r~0 0) (< main_~c~0 main_~y~0) (= main_~s~0 1) (<= (* main_~y~0 2) (+ main_~c~0 (* main_~k~0 main_~y~0))) (= main_~q~0 0) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (= (* main_~y~0 2) (* main_~k~0 main_~y~0)) (= main_~p~0 1))} is VALID [2022-04-28 12:25:04,314 INFO L290 TraceCheckUtils]: 106: Hoare triple {13119#(and (= main_~r~0 0) (< main_~c~0 main_~y~0) (= main_~s~0 1) (<= (* main_~y~0 2) (+ main_~c~0 (* main_~k~0 main_~y~0))) (= main_~q~0 0) (= main_~x~0 (+ main_~c~0 (* main_~k~0 main_~y~0))) (= (* main_~y~0 2) (* main_~k~0 main_~y~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; {13123#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} is VALID [2022-04-28 12:25:04,314 INFO L290 TraceCheckUtils]: 107: Hoare triple {13123#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} assume !false; {13123#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} is VALID [2022-04-28 12:25:04,315 INFO L290 TraceCheckUtils]: 108: Hoare triple {13123#(and (<= (* main_~y~0 2) main_~x~0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~b~0) (= (* main_~y~0 (* (- 1) main_~s~0)) (* main_~y~0 2)) (= main_~q~0 1))} assume !(0 != ~b~0); {13130#(and (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (= (+ (* main_~y~0 2) (* main_~y~0 main_~s~0)) 0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= main_~q~0 1))} is VALID [2022-04-28 12:25:04,315 INFO L272 TraceCheckUtils]: 109: Hoare triple {13130#(and (= (+ main_~x~0 (* main_~y~0 main_~s~0)) 0) (= (+ (* main_~y~0 2) (* main_~y~0 main_~s~0)) 0) (< (+ main_~x~0 (* main_~y~0 main_~s~0)) main_~y~0) (= main_~q~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {13134#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:25:04,315 INFO L290 TraceCheckUtils]: 110: Hoare triple {13134#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13138#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:25:04,315 INFO L290 TraceCheckUtils]: 111: Hoare triple {13138#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12789#false} is VALID [2022-04-28 12:25:04,316 INFO L290 TraceCheckUtils]: 112: Hoare triple {12789#false} assume !false; {12789#false} is VALID [2022-04-28 12:25:04,316 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 61 proven. 58 refuted. 0 times theorem prover too weak. 249 trivial. 0 not checked. [2022-04-28 12:25:04,316 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:26:19,468 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:27:30,563 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:27:50,917 INFO L290 TraceCheckUtils]: 112: Hoare triple {12789#false} assume !false; {12789#false} is VALID [2022-04-28 12:27:50,918 INFO L290 TraceCheckUtils]: 111: Hoare triple {13138#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12789#false} is VALID [2022-04-28 12:27:50,918 INFO L290 TraceCheckUtils]: 110: Hoare triple {13134#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13138#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:27:50,919 INFO L272 TraceCheckUtils]: 109: Hoare triple {13154#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {13134#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:27:50,919 INFO L290 TraceCheckUtils]: 108: Hoare triple {13158#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {13154#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-28 12:27:50,920 INFO L290 TraceCheckUtils]: 107: Hoare triple {13158#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {13158#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 12:27:52,921 WARN L290 TraceCheckUtils]: 106: Hoare triple {13165#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~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; {13158#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is UNKNOWN [2022-04-28 12:27:52,922 INFO L290 TraceCheckUtils]: 105: Hoare triple {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} assume !(~c~0 >= ~b~0); {13165#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:27:52,923 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {12788#true} {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #97#return; {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:27:52,923 INFO L290 TraceCheckUtils]: 103: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:52,923 INFO L290 TraceCheckUtils]: 102: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:52,923 INFO L290 TraceCheckUtils]: 101: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:52,923 INFO L272 TraceCheckUtils]: 100: Hoare triple {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:52,924 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {12788#true} {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #95#return; {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:27:52,924 INFO L290 TraceCheckUtils]: 98: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:52,924 INFO L290 TraceCheckUtils]: 97: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:52,924 INFO L290 TraceCheckUtils]: 96: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:52,924 INFO L272 TraceCheckUtils]: 95: Hoare triple {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:52,925 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {12788#true} {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} #93#return; {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:27:52,925 INFO L290 TraceCheckUtils]: 93: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:52,925 INFO L290 TraceCheckUtils]: 92: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:52,925 INFO L290 TraceCheckUtils]: 91: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:52,925 INFO L272 TraceCheckUtils]: 90: Hoare triple {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:52,926 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} {13218#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} #91#return; {13169#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0))} is VALID [2022-04-28 12:27:52,926 INFO L290 TraceCheckUtils]: 88: Hoare triple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:52,927 INFO L290 TraceCheckUtils]: 87: Hoare triple {13228#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:52,927 INFO L290 TraceCheckUtils]: 86: Hoare triple {12788#true} ~cond := #in~cond; {13228#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:27:52,927 INFO L272 TraceCheckUtils]: 85: Hoare triple {13218#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0) (not (= 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)); {12788#true} is VALID [2022-04-28 12:27:52,927 INFO L290 TraceCheckUtils]: 84: Hoare triple {13218#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} assume !false; {13218#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-28 12:27:53,027 INFO L290 TraceCheckUtils]: 83: Hoare triple {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {13218#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (- 1) main_~k~0 main_~s~0) main_~r~0) main_~y~0) (* (+ main_~p~0 (* (- 1) main_~q~0 main_~k~0)) main_~x~0)) 0) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))))} is VALID [2022-04-28 12:27:53,028 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {12788#true} {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} #97#return; {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} is VALID [2022-04-28 12:27:53,028 INFO L290 TraceCheckUtils]: 81: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:53,028 INFO L290 TraceCheckUtils]: 80: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:53,028 INFO L290 TraceCheckUtils]: 79: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:53,028 INFO L272 TraceCheckUtils]: 78: Hoare triple {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:53,029 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {12788#true} {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} #95#return; {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} is VALID [2022-04-28 12:27:53,029 INFO L290 TraceCheckUtils]: 76: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:53,029 INFO L290 TraceCheckUtils]: 75: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:53,029 INFO L290 TraceCheckUtils]: 74: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:53,029 INFO L272 TraceCheckUtils]: 73: Hoare triple {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:53,030 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {12788#true} {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} #93#return; {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} is VALID [2022-04-28 12:27:53,030 INFO L290 TraceCheckUtils]: 71: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:53,030 INFO L290 TraceCheckUtils]: 70: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:53,030 INFO L290 TraceCheckUtils]: 69: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:53,030 INFO L272 TraceCheckUtils]: 68: Hoare triple {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:53,031 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} {13287#(or (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} #91#return; {13238#(or (not (= (mod main_~a~0 main_~b~0) 0)) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~c~0 main_~b~0)) (< (div main_~a~0 main_~b~0) (+ main_~k~0 1)))} is VALID [2022-04-28 12:27:53,032 INFO L290 TraceCheckUtils]: 66: Hoare triple {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:53,032 INFO L290 TraceCheckUtils]: 65: Hoare triple {13228#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12995#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:27:53,032 INFO L290 TraceCheckUtils]: 64: Hoare triple {12788#true} ~cond := #in~cond; {13228#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:27:53,032 INFO L272 TraceCheckUtils]: 63: Hoare triple {13287#(or (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:53,033 INFO L290 TraceCheckUtils]: 62: Hoare triple {13287#(or (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0)))) (not (= main_~c~0 main_~b~0)))} assume !false; {13287#(or (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~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 12:27:53,035 INFO L290 TraceCheckUtils]: 61: Hoare triple {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {13287#(or (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~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 12:27:53,036 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {12788#true} {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} #97#return; {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 12:27:53,036 INFO L290 TraceCheckUtils]: 59: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:53,036 INFO L290 TraceCheckUtils]: 58: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:53,036 INFO L290 TraceCheckUtils]: 57: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:53,036 INFO L272 TraceCheckUtils]: 56: Hoare triple {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:53,037 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {12788#true} {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} #95#return; {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 12:27:53,037 INFO L290 TraceCheckUtils]: 54: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:53,037 INFO L290 TraceCheckUtils]: 53: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:53,037 INFO L290 TraceCheckUtils]: 52: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:53,037 INFO L272 TraceCheckUtils]: 51: Hoare triple {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:53,038 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12788#true} {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} #93#return; {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 12:27:53,038 INFO L290 TraceCheckUtils]: 49: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:53,038 INFO L290 TraceCheckUtils]: 48: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:53,038 INFO L290 TraceCheckUtils]: 47: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:53,038 INFO L272 TraceCheckUtils]: 46: Hoare triple {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:53,039 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12788#true} {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} #91#return; {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 12:27:53,039 INFO L290 TraceCheckUtils]: 44: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:53,039 INFO L290 TraceCheckUtils]: 43: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:53,039 INFO L290 TraceCheckUtils]: 42: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:53,039 INFO L272 TraceCheckUtils]: 41: Hoare triple {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:53,040 INFO L290 TraceCheckUtils]: 40: Hoare triple {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} assume !false; {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 12:27:53,040 INFO L290 TraceCheckUtils]: 39: Hoare triple {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {13306#(or (< (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) (+ main_~k~0 1)) (not (= (+ (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~c~0) (+ main_~b~0 main_~a~0))) (<= main_~b~0 0) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 12:27:53,041 INFO L290 TraceCheckUtils]: 38: Hoare triple {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} assume !false; {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 12:27:53,041 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {12788#true} {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} #89#return; {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 12:27:53,041 INFO L290 TraceCheckUtils]: 36: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:53,041 INFO L290 TraceCheckUtils]: 35: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:53,041 INFO L290 TraceCheckUtils]: 34: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:53,041 INFO L272 TraceCheckUtils]: 33: Hoare triple {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:53,042 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12788#true} {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} #87#return; {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 12:27:53,042 INFO L290 TraceCheckUtils]: 31: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:53,042 INFO L290 TraceCheckUtils]: 30: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:53,042 INFO L290 TraceCheckUtils]: 29: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:53,042 INFO L272 TraceCheckUtils]: 28: Hoare triple {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:53,044 INFO L290 TraceCheckUtils]: 27: Hoare triple {12788#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {13373#(or (<= main_~b~0 0) (not (= (* main_~b~0 (div (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0)) main_~b~0)) (= (+ (* main_~y~0 main_~s~0 (div main_~a~0 main_~b~0)) (* main_~q~0 main_~x~0 (div main_~a~0 main_~b~0))) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (mod (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0) 0)))} is VALID [2022-04-28 12:27:53,044 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {12788#true} {12788#true} #85#return; {12788#true} is VALID [2022-04-28 12:27:53,044 INFO L290 TraceCheckUtils]: 25: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:53,044 INFO L290 TraceCheckUtils]: 24: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:53,044 INFO L290 TraceCheckUtils]: 23: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:53,044 INFO L272 TraceCheckUtils]: 22: Hoare triple {12788#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:53,045 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12788#true} {12788#true} #83#return; {12788#true} is VALID [2022-04-28 12:27:53,045 INFO L290 TraceCheckUtils]: 20: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:53,045 INFO L290 TraceCheckUtils]: 19: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:53,045 INFO L290 TraceCheckUtils]: 18: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:53,045 INFO L272 TraceCheckUtils]: 17: Hoare triple {12788#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:53,045 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12788#true} {12788#true} #81#return; {12788#true} is VALID [2022-04-28 12:27:53,045 INFO L290 TraceCheckUtils]: 15: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:53,045 INFO L290 TraceCheckUtils]: 14: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:53,045 INFO L290 TraceCheckUtils]: 13: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:53,045 INFO L272 TraceCheckUtils]: 12: Hoare triple {12788#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:53,045 INFO L290 TraceCheckUtils]: 11: Hoare triple {12788#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {12788#true} is VALID [2022-04-28 12:27:53,045 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12788#true} {12788#true} #79#return; {12788#true} is VALID [2022-04-28 12:27:53,045 INFO L290 TraceCheckUtils]: 9: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:53,045 INFO L290 TraceCheckUtils]: 8: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-28 12:27:53,045 INFO L290 TraceCheckUtils]: 7: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-28 12:27:53,046 INFO L272 TraceCheckUtils]: 6: Hoare triple {12788#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {12788#true} is VALID [2022-04-28 12:27:53,046 INFO L290 TraceCheckUtils]: 5: Hoare triple {12788#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {12788#true} is VALID [2022-04-28 12:27:53,046 INFO L272 TraceCheckUtils]: 4: Hoare triple {12788#true} call #t~ret6 := main(); {12788#true} is VALID [2022-04-28 12:27:53,046 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12788#true} {12788#true} #103#return; {12788#true} is VALID [2022-04-28 12:27:53,046 INFO L290 TraceCheckUtils]: 2: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-28 12:27:53,046 INFO L290 TraceCheckUtils]: 1: Hoare triple {12788#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); {12788#true} is VALID [2022-04-28 12:27:53,046 INFO L272 TraceCheckUtils]: 0: Hoare triple {12788#true} call ULTIMATE.init(); {12788#true} is VALID [2022-04-28 12:27:53,046 INFO L134 CoverageAnalysis]: Checked inductivity of 368 backedges. 55 proven. 45 refuted. 4 times theorem prover too weak. 264 trivial. 0 not checked. [2022-04-28 12:27:53,047 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:27:53,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2092039753] [2022-04-28 12:27:53,047 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:27:53,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1209210811] [2022-04-28 12:27:53,047 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1209210811] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:27:53,047 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:27:53,047 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 15] total 28 [2022-04-28 12:27:53,047 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:27:53,047 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1955786047] [2022-04-28 12:27:53,047 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1955786047] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:27:53,047 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:27:53,047 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-28 12:27:53,047 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1395641372] [2022-04-28 12:27:53,048 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:27:53,048 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 8 states have call successors, (19) Word has length 113 [2022-04-28 12:27:53,048 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:27:53,048 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 12:27:53,120 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:27:53,120 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-28 12:27:53,120 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:27:53,120 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-28 12:27:53,120 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=627, Unknown=9, NotChecked=0, Total=756 [2022-04-28 12:27:53,121 INFO L87 Difference]: Start difference. First operand 132 states and 170 transitions. Second operand has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 12:28:01,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:28:01,032 INFO L93 Difference]: Finished difference Result 165 states and 216 transitions. [2022-04-28 12:28:01,032 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-28 12:28:01,033 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 8 states have call successors, (19) Word has length 113 [2022-04-28 12:28:01,033 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:28:01,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 12:28:01,034 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 115 transitions. [2022-04-28 12:28:01,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 12:28:01,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 115 transitions. [2022-04-28 12:28:01,036 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 115 transitions. [2022-04-28 12:28:01,162 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 12:28:01,165 INFO L225 Difference]: With dead ends: 165 [2022-04-28 12:28:01,165 INFO L226 Difference]: Without dead ends: 162 [2022-04-28 12:28:01,165 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 231 GetRequests, 198 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 262 ImplicationChecksByTransitivity, 23.2s TimeCoverageRelationStatistics Valid=180, Invalid=933, Unknown=9, NotChecked=0, Total=1122 [2022-04-28 12:28:01,166 INFO L413 NwaCegarLoop]: 43 mSDtfsCounter, 42 mSDsluCounter, 207 mSDsCounter, 0 mSdLazyCounter, 879 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 55 SdHoareTripleChecker+Valid, 250 SdHoareTripleChecker+Invalid, 935 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 879 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:28:01,166 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [55 Valid, 250 Invalid, 935 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 879 Invalid, 0 Unknown, 0 Unchecked, 3.4s Time] [2022-04-28 12:28:01,166 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2022-04-28 12:28:01,597 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 161. [2022-04-28 12:28:01,597 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:28:01,597 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand has 161 states, 86 states have (on average 1.1162790697674418) internal successors, (96), 88 states have internal predecessors, (96), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 12:28:01,598 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand has 161 states, 86 states have (on average 1.1162790697674418) internal successors, (96), 88 states have internal predecessors, (96), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 12:28:01,598 INFO L87 Difference]: Start difference. First operand 162 states. Second operand has 161 states, 86 states have (on average 1.1162790697674418) internal successors, (96), 88 states have internal predecessors, (96), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 12:28:01,601 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:28:01,601 INFO L93 Difference]: Finished difference Result 162 states and 212 transitions. [2022-04-28 12:28:01,601 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 212 transitions. [2022-04-28 12:28:01,601 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:28:01,602 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:28:01,602 INFO L74 IsIncluded]: Start isIncluded. First operand has 161 states, 86 states have (on average 1.1162790697674418) internal successors, (96), 88 states have internal predecessors, (96), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) Second operand 162 states. [2022-04-28 12:28:01,602 INFO L87 Difference]: Start difference. First operand has 161 states, 86 states have (on average 1.1162790697674418) internal successors, (96), 88 states have internal predecessors, (96), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) Second operand 162 states. [2022-04-28 12:28:01,605 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:28:01,605 INFO L93 Difference]: Finished difference Result 162 states and 212 transitions. [2022-04-28 12:28:01,605 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 212 transitions. [2022-04-28 12:28:01,605 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:28:01,605 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:28:01,606 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:28:01,606 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:28:01,606 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 161 states, 86 states have (on average 1.1162790697674418) internal successors, (96), 88 states have internal predecessors, (96), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (56), 56 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-28 12:28:01,609 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 161 states to 161 states and 211 transitions. [2022-04-28 12:28:01,609 INFO L78 Accepts]: Start accepts. Automaton has 161 states and 211 transitions. Word has length 113 [2022-04-28 12:28:01,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:28:01,609 INFO L495 AbstractCegarLoop]: Abstraction has 161 states and 211 transitions. [2022-04-28 12:28:01,609 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 17 states have (on average 1.8235294117647058) internal successors, (31), 14 states have internal predecessors, (31), 9 states have call successors, (21), 2 states have call predecessors, (21), 3 states have return successors, (19), 6 states have call predecessors, (19), 8 states have call successors, (19) [2022-04-28 12:28:01,609 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 161 states and 211 transitions. [2022-04-28 12:28:01,968 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 211 edges. 211 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:28:01,968 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 211 transitions. [2022-04-28 12:28:01,969 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-28 12:28:01,969 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:28:01,969 INFO L195 NwaCegarLoop]: trace histogram [13, 12, 12, 6, 6, 6, 3, 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] [2022-04-28 12:28:01,985 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-28 12:28:02,169 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 12:28:02,169 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:28:02,170 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:28:02,170 INFO L85 PathProgramCache]: Analyzing trace with hash 884638574, now seen corresponding path program 5 times [2022-04-28 12:28:02,170 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:28:02,170 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1489341504] [2022-04-28 12:28:02,170 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:28:02,170 INFO L85 PathProgramCache]: Analyzing trace with hash 884638574, now seen corresponding path program 6 times [2022-04-28 12:28:02,170 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:28:02,170 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1230859872] [2022-04-28 12:28:02,171 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:28:02,171 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:28:02,199 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:28:02,200 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [88787880] [2022-04-28 12:28:02,200 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:28:02,200 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:28:02,200 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:28:02,201 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 12:28:02,201 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 12:28:02,259 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:28:02,259 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:28:02,260 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-28 12:28:02,270 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:28:02,271 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:28:02,430 INFO L272 TraceCheckUtils]: 0: Hoare triple {14481#true} call ULTIMATE.init(); {14481#true} is VALID [2022-04-28 12:28:02,430 INFO L290 TraceCheckUtils]: 1: Hoare triple {14481#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); {14481#true} is VALID [2022-04-28 12:28:02,430 INFO L290 TraceCheckUtils]: 2: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,430 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14481#true} {14481#true} #103#return; {14481#true} is VALID [2022-04-28 12:28:02,430 INFO L272 TraceCheckUtils]: 4: Hoare triple {14481#true} call #t~ret6 := main(); {14481#true} is VALID [2022-04-28 12:28:02,430 INFO L290 TraceCheckUtils]: 5: Hoare triple {14481#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {14481#true} is VALID [2022-04-28 12:28:02,430 INFO L272 TraceCheckUtils]: 6: Hoare triple {14481#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,431 INFO L290 TraceCheckUtils]: 7: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,431 INFO L290 TraceCheckUtils]: 8: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,431 INFO L290 TraceCheckUtils]: 9: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,431 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14481#true} {14481#true} #79#return; {14481#true} is VALID [2022-04-28 12:28:02,431 INFO L290 TraceCheckUtils]: 11: Hoare triple {14481#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14481#true} is VALID [2022-04-28 12:28:02,431 INFO L272 TraceCheckUtils]: 12: Hoare triple {14481#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,431 INFO L290 TraceCheckUtils]: 13: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,431 INFO L290 TraceCheckUtils]: 15: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,431 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14481#true} {14481#true} #81#return; {14481#true} is VALID [2022-04-28 12:28:02,431 INFO L272 TraceCheckUtils]: 17: Hoare triple {14481#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,431 INFO L290 TraceCheckUtils]: 18: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,431 INFO L290 TraceCheckUtils]: 19: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,431 INFO L290 TraceCheckUtils]: 20: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,431 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14481#true} {14481#true} #83#return; {14481#true} is VALID [2022-04-28 12:28:02,432 INFO L272 TraceCheckUtils]: 22: Hoare triple {14481#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,432 INFO L290 TraceCheckUtils]: 23: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,432 INFO L290 TraceCheckUtils]: 24: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,432 INFO L290 TraceCheckUtils]: 25: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,432 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14481#true} {14481#true} #85#return; {14481#true} is VALID [2022-04-28 12:28:02,432 INFO L290 TraceCheckUtils]: 27: Hoare triple {14481#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {14481#true} is VALID [2022-04-28 12:28:02,432 INFO L272 TraceCheckUtils]: 28: Hoare triple {14481#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,432 INFO L290 TraceCheckUtils]: 29: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,432 INFO L290 TraceCheckUtils]: 30: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,432 INFO L290 TraceCheckUtils]: 31: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,432 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14481#true} {14481#true} #87#return; {14481#true} is VALID [2022-04-28 12:28:02,432 INFO L272 TraceCheckUtils]: 33: Hoare triple {14481#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,432 INFO L290 TraceCheckUtils]: 34: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,432 INFO L290 TraceCheckUtils]: 35: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,432 INFO L290 TraceCheckUtils]: 36: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,433 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {14481#true} {14481#true} #89#return; {14481#true} is VALID [2022-04-28 12:28:02,433 INFO L290 TraceCheckUtils]: 38: Hoare triple {14481#true} assume !false; {14481#true} is VALID [2022-04-28 12:28:02,433 INFO L290 TraceCheckUtils]: 39: Hoare triple {14481#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14481#true} is VALID [2022-04-28 12:28:02,433 INFO L290 TraceCheckUtils]: 40: Hoare triple {14481#true} assume !false; {14481#true} is VALID [2022-04-28 12:28:02,433 INFO L272 TraceCheckUtils]: 41: Hoare triple {14481#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,433 INFO L290 TraceCheckUtils]: 42: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,433 INFO L290 TraceCheckUtils]: 43: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,433 INFO L290 TraceCheckUtils]: 44: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,433 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14481#true} {14481#true} #91#return; {14481#true} is VALID [2022-04-28 12:28:02,433 INFO L272 TraceCheckUtils]: 46: Hoare triple {14481#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,433 INFO L290 TraceCheckUtils]: 47: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,433 INFO L290 TraceCheckUtils]: 48: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,433 INFO L290 TraceCheckUtils]: 49: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,433 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14481#true} {14481#true} #93#return; {14481#true} is VALID [2022-04-28 12:28:02,434 INFO L272 TraceCheckUtils]: 51: Hoare triple {14481#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,434 INFO L290 TraceCheckUtils]: 52: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,434 INFO L290 TraceCheckUtils]: 53: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,434 INFO L290 TraceCheckUtils]: 54: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,434 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14481#true} {14481#true} #95#return; {14481#true} is VALID [2022-04-28 12:28:02,434 INFO L272 TraceCheckUtils]: 56: Hoare triple {14481#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,434 INFO L290 TraceCheckUtils]: 57: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,434 INFO L290 TraceCheckUtils]: 58: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,434 INFO L290 TraceCheckUtils]: 59: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,434 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {14481#true} {14481#true} #97#return; {14481#true} is VALID [2022-04-28 12:28:02,440 INFO L290 TraceCheckUtils]: 61: Hoare triple {14481#true} assume !(~c~0 >= ~b~0); {14669#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:28:02,440 INFO L290 TraceCheckUtils]: 62: Hoare triple {14669#(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; {14673#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:28:02,441 INFO L290 TraceCheckUtils]: 63: Hoare triple {14673#(< main_~b~0 main_~a~0)} assume !false; {14673#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:28:02,441 INFO L290 TraceCheckUtils]: 64: Hoare triple {14673#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:02,441 INFO L290 TraceCheckUtils]: 65: Hoare triple {14680#(< main_~b~0 main_~c~0)} assume !false; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:02,441 INFO L272 TraceCheckUtils]: 66: Hoare triple {14680#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,441 INFO L290 TraceCheckUtils]: 67: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,441 INFO L290 TraceCheckUtils]: 68: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,441 INFO L290 TraceCheckUtils]: 69: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,442 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #91#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:02,442 INFO L272 TraceCheckUtils]: 71: Hoare triple {14680#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,442 INFO L290 TraceCheckUtils]: 72: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,442 INFO L290 TraceCheckUtils]: 73: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,442 INFO L290 TraceCheckUtils]: 74: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,442 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #93#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:02,442 INFO L272 TraceCheckUtils]: 76: Hoare triple {14680#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,443 INFO L290 TraceCheckUtils]: 77: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,443 INFO L290 TraceCheckUtils]: 78: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,443 INFO L290 TraceCheckUtils]: 79: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,443 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #95#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:02,443 INFO L272 TraceCheckUtils]: 81: Hoare triple {14680#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,443 INFO L290 TraceCheckUtils]: 82: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,443 INFO L290 TraceCheckUtils]: 83: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,443 INFO L290 TraceCheckUtils]: 84: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,444 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #97#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:02,444 INFO L290 TraceCheckUtils]: 86: Hoare triple {14680#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 12:28:02,445 INFO L290 TraceCheckUtils]: 87: Hoare triple {14747#(< 0 main_~c~0)} assume !false; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 12:28:02,445 INFO L272 TraceCheckUtils]: 88: Hoare triple {14747#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,445 INFO L290 TraceCheckUtils]: 89: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,445 INFO L290 TraceCheckUtils]: 90: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,445 INFO L290 TraceCheckUtils]: 91: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,445 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #91#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 12:28:02,445 INFO L272 TraceCheckUtils]: 93: Hoare triple {14747#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,445 INFO L290 TraceCheckUtils]: 94: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,445 INFO L290 TraceCheckUtils]: 95: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,445 INFO L290 TraceCheckUtils]: 96: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,446 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #93#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 12:28:02,446 INFO L272 TraceCheckUtils]: 98: Hoare triple {14747#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,446 INFO L290 TraceCheckUtils]: 99: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,446 INFO L290 TraceCheckUtils]: 100: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,446 INFO L290 TraceCheckUtils]: 101: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,446 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #95#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 12:28:02,447 INFO L272 TraceCheckUtils]: 103: Hoare triple {14747#(< 0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,447 INFO L290 TraceCheckUtils]: 104: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,447 INFO L290 TraceCheckUtils]: 105: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,447 INFO L290 TraceCheckUtils]: 106: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,447 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #97#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 12:28:02,447 INFO L290 TraceCheckUtils]: 108: Hoare triple {14747#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {14747#(< 0 main_~c~0)} is VALID [2022-04-28 12:28:02,448 INFO L290 TraceCheckUtils]: 109: Hoare triple {14747#(< 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; {14817#(< 0 main_~b~0)} is VALID [2022-04-28 12:28:02,448 INFO L290 TraceCheckUtils]: 110: Hoare triple {14817#(< 0 main_~b~0)} assume !false; {14817#(< 0 main_~b~0)} is VALID [2022-04-28 12:28:02,448 INFO L290 TraceCheckUtils]: 111: Hoare triple {14817#(< 0 main_~b~0)} assume !(0 != ~b~0); {14482#false} is VALID [2022-04-28 12:28:02,448 INFO L272 TraceCheckUtils]: 112: Hoare triple {14482#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {14482#false} is VALID [2022-04-28 12:28:02,448 INFO L290 TraceCheckUtils]: 113: Hoare triple {14482#false} ~cond := #in~cond; {14482#false} is VALID [2022-04-28 12:28:02,448 INFO L290 TraceCheckUtils]: 114: Hoare triple {14482#false} assume 0 == ~cond; {14482#false} is VALID [2022-04-28 12:28:02,448 INFO L290 TraceCheckUtils]: 115: Hoare triple {14482#false} assume !false; {14482#false} is VALID [2022-04-28 12:28:02,449 INFO L134 CoverageAnalysis]: Checked inductivity of 373 backedges. 40 proven. 9 refuted. 0 times theorem prover too weak. 324 trivial. 0 not checked. [2022-04-28 12:28:02,449 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:28:02,673 INFO L290 TraceCheckUtils]: 115: Hoare triple {14482#false} assume !false; {14482#false} is VALID [2022-04-28 12:28:02,673 INFO L290 TraceCheckUtils]: 114: Hoare triple {14482#false} assume 0 == ~cond; {14482#false} is VALID [2022-04-28 12:28:02,673 INFO L290 TraceCheckUtils]: 113: Hoare triple {14482#false} ~cond := #in~cond; {14482#false} is VALID [2022-04-28 12:28:02,674 INFO L272 TraceCheckUtils]: 112: Hoare triple {14482#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {14482#false} is VALID [2022-04-28 12:28:02,674 INFO L290 TraceCheckUtils]: 111: Hoare triple {14817#(< 0 main_~b~0)} assume !(0 != ~b~0); {14482#false} is VALID [2022-04-28 12:28:02,674 INFO L290 TraceCheckUtils]: 110: Hoare triple {14817#(< 0 main_~b~0)} assume !false; {14817#(< 0 main_~b~0)} is VALID [2022-04-28 12:28:02,674 INFO L290 TraceCheckUtils]: 109: Hoare triple {14747#(< 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; {14817#(< 0 main_~b~0)} is VALID [2022-04-28 12:28:02,675 INFO L290 TraceCheckUtils]: 108: Hoare triple {14747#(< 0 main_~c~0)} assume !(~c~0 >= ~b~0); {14747#(< 0 main_~c~0)} is VALID [2022-04-28 12:28:02,675 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #97#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 12:28:02,675 INFO L290 TraceCheckUtils]: 106: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,676 INFO L290 TraceCheckUtils]: 105: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,676 INFO L290 TraceCheckUtils]: 104: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,676 INFO L272 TraceCheckUtils]: 103: Hoare triple {14747#(< 0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,676 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #95#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 12:28:02,676 INFO L290 TraceCheckUtils]: 101: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,676 INFO L290 TraceCheckUtils]: 100: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,676 INFO L290 TraceCheckUtils]: 99: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,676 INFO L272 TraceCheckUtils]: 98: Hoare triple {14747#(< 0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,677 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #93#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 12:28:02,677 INFO L290 TraceCheckUtils]: 96: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,677 INFO L290 TraceCheckUtils]: 95: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,677 INFO L290 TraceCheckUtils]: 94: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,677 INFO L272 TraceCheckUtils]: 93: Hoare triple {14747#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,678 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #91#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 12:28:02,678 INFO L290 TraceCheckUtils]: 91: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,678 INFO L290 TraceCheckUtils]: 90: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,678 INFO L290 TraceCheckUtils]: 89: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,678 INFO L272 TraceCheckUtils]: 88: Hoare triple {14747#(< 0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,678 INFO L290 TraceCheckUtils]: 87: Hoare triple {14747#(< 0 main_~c~0)} assume !false; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 12:28:02,679 INFO L290 TraceCheckUtils]: 86: Hoare triple {14680#(< main_~b~0 main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {14747#(< 0 main_~c~0)} is VALID [2022-04-28 12:28:02,680 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #97#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:02,680 INFO L290 TraceCheckUtils]: 84: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,680 INFO L290 TraceCheckUtils]: 83: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,680 INFO L290 TraceCheckUtils]: 82: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,680 INFO L272 TraceCheckUtils]: 81: Hoare triple {14680#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,681 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #95#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:02,681 INFO L290 TraceCheckUtils]: 79: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,681 INFO L290 TraceCheckUtils]: 78: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,681 INFO L290 TraceCheckUtils]: 77: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,681 INFO L272 TraceCheckUtils]: 76: Hoare triple {14680#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,681 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #93#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:02,681 INFO L290 TraceCheckUtils]: 74: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,681 INFO L290 TraceCheckUtils]: 73: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,682 INFO L290 TraceCheckUtils]: 72: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,682 INFO L272 TraceCheckUtils]: 71: Hoare triple {14680#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,682 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {14481#true} {14680#(< main_~b~0 main_~c~0)} #91#return; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:02,682 INFO L290 TraceCheckUtils]: 69: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,682 INFO L290 TraceCheckUtils]: 68: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,682 INFO L290 TraceCheckUtils]: 67: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,682 INFO L272 TraceCheckUtils]: 66: Hoare triple {14680#(< main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,684 INFO L290 TraceCheckUtils]: 65: Hoare triple {14680#(< main_~b~0 main_~c~0)} assume !false; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:02,684 INFO L290 TraceCheckUtils]: 64: Hoare triple {14673#(< main_~b~0 main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14680#(< main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:02,685 INFO L290 TraceCheckUtils]: 63: Hoare triple {14673#(< main_~b~0 main_~a~0)} assume !false; {14673#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:28:02,685 INFO L290 TraceCheckUtils]: 62: Hoare triple {14669#(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; {14673#(< main_~b~0 main_~a~0)} is VALID [2022-04-28 12:28:02,685 INFO L290 TraceCheckUtils]: 61: Hoare triple {14481#true} assume !(~c~0 >= ~b~0); {14669#(not (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:28:02,685 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {14481#true} {14481#true} #97#return; {14481#true} is VALID [2022-04-28 12:28:02,685 INFO L290 TraceCheckUtils]: 59: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,685 INFO L290 TraceCheckUtils]: 58: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,685 INFO L290 TraceCheckUtils]: 57: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,686 INFO L272 TraceCheckUtils]: 56: Hoare triple {14481#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,686 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14481#true} {14481#true} #95#return; {14481#true} is VALID [2022-04-28 12:28:02,686 INFO L290 TraceCheckUtils]: 54: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,686 INFO L290 TraceCheckUtils]: 53: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,686 INFO L290 TraceCheckUtils]: 52: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,686 INFO L272 TraceCheckUtils]: 51: Hoare triple {14481#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,686 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14481#true} {14481#true} #93#return; {14481#true} is VALID [2022-04-28 12:28:02,686 INFO L290 TraceCheckUtils]: 49: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,686 INFO L290 TraceCheckUtils]: 48: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,686 INFO L290 TraceCheckUtils]: 47: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,686 INFO L272 TraceCheckUtils]: 46: Hoare triple {14481#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,686 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14481#true} {14481#true} #91#return; {14481#true} is VALID [2022-04-28 12:28:02,686 INFO L290 TraceCheckUtils]: 44: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,686 INFO L290 TraceCheckUtils]: 43: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,686 INFO L290 TraceCheckUtils]: 42: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,687 INFO L272 TraceCheckUtils]: 41: Hoare triple {14481#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,687 INFO L290 TraceCheckUtils]: 40: Hoare triple {14481#true} assume !false; {14481#true} is VALID [2022-04-28 12:28:02,687 INFO L290 TraceCheckUtils]: 39: Hoare triple {14481#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {14481#true} is VALID [2022-04-28 12:28:02,687 INFO L290 TraceCheckUtils]: 38: Hoare triple {14481#true} assume !false; {14481#true} is VALID [2022-04-28 12:28:02,687 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {14481#true} {14481#true} #89#return; {14481#true} is VALID [2022-04-28 12:28:02,687 INFO L290 TraceCheckUtils]: 36: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,687 INFO L290 TraceCheckUtils]: 35: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,687 INFO L290 TraceCheckUtils]: 34: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,687 INFO L272 TraceCheckUtils]: 33: Hoare triple {14481#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,687 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14481#true} {14481#true} #87#return; {14481#true} is VALID [2022-04-28 12:28:02,687 INFO L290 TraceCheckUtils]: 31: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,687 INFO L290 TraceCheckUtils]: 30: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,687 INFO L290 TraceCheckUtils]: 29: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,687 INFO L272 TraceCheckUtils]: 28: Hoare triple {14481#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,687 INFO L290 TraceCheckUtils]: 27: Hoare triple {14481#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {14481#true} is VALID [2022-04-28 12:28:02,688 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14481#true} {14481#true} #85#return; {14481#true} is VALID [2022-04-28 12:28:02,688 INFO L290 TraceCheckUtils]: 25: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,688 INFO L290 TraceCheckUtils]: 24: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,688 INFO L290 TraceCheckUtils]: 23: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,688 INFO L272 TraceCheckUtils]: 22: Hoare triple {14481#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,688 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14481#true} {14481#true} #83#return; {14481#true} is VALID [2022-04-28 12:28:02,688 INFO L290 TraceCheckUtils]: 20: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,688 INFO L290 TraceCheckUtils]: 19: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,688 INFO L290 TraceCheckUtils]: 18: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,688 INFO L272 TraceCheckUtils]: 17: Hoare triple {14481#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,688 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14481#true} {14481#true} #81#return; {14481#true} is VALID [2022-04-28 12:28:02,688 INFO L290 TraceCheckUtils]: 15: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,688 INFO L290 TraceCheckUtils]: 14: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,688 INFO L290 TraceCheckUtils]: 13: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,688 INFO L272 TraceCheckUtils]: 12: Hoare triple {14481#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,689 INFO L290 TraceCheckUtils]: 11: Hoare triple {14481#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {14481#true} is VALID [2022-04-28 12:28:02,689 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14481#true} {14481#true} #79#return; {14481#true} is VALID [2022-04-28 12:28:02,689 INFO L290 TraceCheckUtils]: 9: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,689 INFO L290 TraceCheckUtils]: 8: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-28 12:28:02,689 INFO L290 TraceCheckUtils]: 7: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-28 12:28:02,689 INFO L272 TraceCheckUtils]: 6: Hoare triple {14481#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {14481#true} is VALID [2022-04-28 12:28:02,689 INFO L290 TraceCheckUtils]: 5: Hoare triple {14481#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {14481#true} is VALID [2022-04-28 12:28:02,689 INFO L272 TraceCheckUtils]: 4: Hoare triple {14481#true} call #t~ret6 := main(); {14481#true} is VALID [2022-04-28 12:28:02,689 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14481#true} {14481#true} #103#return; {14481#true} is VALID [2022-04-28 12:28:02,689 INFO L290 TraceCheckUtils]: 2: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-28 12:28:02,689 INFO L290 TraceCheckUtils]: 1: Hoare triple {14481#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); {14481#true} is VALID [2022-04-28 12:28:02,689 INFO L272 TraceCheckUtils]: 0: Hoare triple {14481#true} call ULTIMATE.init(); {14481#true} is VALID [2022-04-28 12:28:02,690 INFO L134 CoverageAnalysis]: Checked inductivity of 373 backedges. 40 proven. 9 refuted. 0 times theorem prover too weak. 324 trivial. 0 not checked. [2022-04-28 12:28:02,690 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:28:02,690 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1230859872] [2022-04-28 12:28:02,690 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:28:02,690 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [88787880] [2022-04-28 12:28:02,690 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [88787880] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:28:02,690 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:28:02,690 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2022-04-28 12:28:02,690 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:28:02,690 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1489341504] [2022-04-28 12:28:02,690 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1489341504] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:28:02,690 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:28:02,691 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 12:28:02,691 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [397420757] [2022-04-28 12:28:02,691 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:28:02,691 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) Word has length 116 [2022-04-28 12:28:02,691 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:28:02,691 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) [2022-04-28 12:28:02,742 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:28:02,742 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 12:28:02,742 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:28:02,743 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 12:28:02,743 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-04-28 12:28:02,743 INFO L87 Difference]: Start difference. First operand 161 states and 211 transitions. Second operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) [2022-04-28 12:28:04,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:28:04,035 INFO L93 Difference]: Finished difference Result 215 states and 300 transitions. [2022-04-28 12:28:04,035 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-28 12:28:04,035 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) Word has length 116 [2022-04-28 12:28:04,035 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:28:04,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) [2022-04-28 12:28:04,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 126 transitions. [2022-04-28 12:28:04,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) [2022-04-28 12:28:04,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 126 transitions. [2022-04-28 12:28:04,038 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 126 transitions. [2022-04-28 12:28:04,153 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:28:04,156 INFO L225 Difference]: With dead ends: 215 [2022-04-28 12:28:04,156 INFO L226 Difference]: Without dead ends: 207 [2022-04-28 12:28:04,157 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 242 GetRequests, 227 SyntacticMatches, 2 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=62, Invalid=148, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:28:04,157 INFO L413 NwaCegarLoop]: 85 mSDtfsCounter, 14 mSDsluCounter, 195 mSDsCounter, 0 mSdLazyCounter, 205 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 280 SdHoareTripleChecker+Invalid, 245 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 205 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 12:28:04,157 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [19 Valid, 280 Invalid, 245 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 205 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 12:28:04,158 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 207 states. [2022-04-28 12:28:04,584 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 207 to 188. [2022-04-28 12:28:04,584 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:28:04,585 INFO L82 GeneralOperation]: Start isEquivalent. First operand 207 states. Second operand has 188 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 99 states have internal predecessors, (111), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:28:04,585 INFO L74 IsIncluded]: Start isIncluded. First operand 207 states. Second operand has 188 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 99 states have internal predecessors, (111), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:28:04,585 INFO L87 Difference]: Start difference. First operand 207 states. Second operand has 188 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 99 states have internal predecessors, (111), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:28:04,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:28:04,590 INFO L93 Difference]: Finished difference Result 207 states and 291 transitions. [2022-04-28 12:28:04,590 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 291 transitions. [2022-04-28 12:28:04,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:28:04,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:28:04,591 INFO L74 IsIncluded]: Start isIncluded. First operand has 188 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 99 states have internal predecessors, (111), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 207 states. [2022-04-28 12:28:04,591 INFO L87 Difference]: Start difference. First operand has 188 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 99 states have internal predecessors, (111), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 207 states. [2022-04-28 12:28:04,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:28:04,595 INFO L93 Difference]: Finished difference Result 207 states and 291 transitions. [2022-04-28 12:28:04,595 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 291 transitions. [2022-04-28 12:28:04,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:28:04,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:28:04,596 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:28:04,596 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:28:04,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 188 states, 97 states have (on average 1.1443298969072164) internal successors, (111), 99 states have internal predecessors, (111), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:28:04,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 188 states to 188 states and 258 transitions. [2022-04-28 12:28:04,600 INFO L78 Accepts]: Start accepts. Automaton has 188 states and 258 transitions. Word has length 116 [2022-04-28 12:28:04,600 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:28:04,600 INFO L495 AbstractCegarLoop]: Abstraction has 188 states and 258 transitions. [2022-04-28 12:28:04,601 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 7 states have internal predecessors, (28), 4 states have call successors, (21), 2 states have call predecessors, (21), 1 states have return successors, (19), 3 states have call predecessors, (19), 3 states have call successors, (19) [2022-04-28 12:28:04,601 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 188 states and 258 transitions. [2022-04-28 12:28:05,058 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 258 edges. 258 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:28:05,058 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 258 transitions. [2022-04-28 12:28:05,059 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2022-04-28 12:28:05,059 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:28:05,059 INFO L195 NwaCegarLoop]: trace histogram [14, 13, 13, 6, 6, 6, 4, 4, 4, 4, 3, 3, 3, 3, 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, 1] [2022-04-28 12:28:05,076 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Ended with exit code 0 [2022-04-28 12:28:05,267 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 12:28:05,267 INFO L420 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:28:05,267 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:28:05,268 INFO L85 PathProgramCache]: Analyzing trace with hash -743412771, now seen corresponding path program 3 times [2022-04-28 12:28:05,268 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:28:05,268 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [140911311] [2022-04-28 12:28:05,268 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:28:05,268 INFO L85 PathProgramCache]: Analyzing trace with hash -743412771, now seen corresponding path program 4 times [2022-04-28 12:28:05,268 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:28:05,268 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1154610098] [2022-04-28 12:28:05,268 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:28:05,268 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:28:05,285 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:28:05,286 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [56708270] [2022-04-28 12:28:05,286 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:28:05,286 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:28:05,286 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:28:05,287 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 12:28:05,288 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 12:28:05,337 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:28:05,337 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:28:05,338 INFO L263 TraceCheckSpWp]: Trace formula consists of 265 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 12:28:05,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:28:05,355 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:28:05,663 INFO L272 TraceCheckUtils]: 0: Hoare triple {16422#true} call ULTIMATE.init(); {16422#true} is VALID [2022-04-28 12:28:05,664 INFO L290 TraceCheckUtils]: 1: Hoare triple {16422#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); {16422#true} is VALID [2022-04-28 12:28:05,664 INFO L290 TraceCheckUtils]: 2: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,664 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16422#true} {16422#true} #103#return; {16422#true} is VALID [2022-04-28 12:28:05,664 INFO L272 TraceCheckUtils]: 4: Hoare triple {16422#true} call #t~ret6 := main(); {16422#true} is VALID [2022-04-28 12:28:05,664 INFO L290 TraceCheckUtils]: 5: Hoare triple {16422#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {16422#true} is VALID [2022-04-28 12:28:05,664 INFO L272 TraceCheckUtils]: 6: Hoare triple {16422#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,664 INFO L290 TraceCheckUtils]: 7: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,664 INFO L290 TraceCheckUtils]: 8: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,664 INFO L290 TraceCheckUtils]: 9: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,664 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16422#true} {16422#true} #79#return; {16422#true} is VALID [2022-04-28 12:28:05,664 INFO L290 TraceCheckUtils]: 11: Hoare triple {16422#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16422#true} is VALID [2022-04-28 12:28:05,664 INFO L272 TraceCheckUtils]: 12: Hoare triple {16422#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,664 INFO L290 TraceCheckUtils]: 13: Hoare triple {16422#true} ~cond := #in~cond; {16466#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:28:05,665 INFO L290 TraceCheckUtils]: 14: Hoare triple {16466#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {16470#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:28:05,665 INFO L290 TraceCheckUtils]: 15: Hoare triple {16470#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {16470#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:28:05,665 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16470#(not (= |assume_abort_if_not_#in~cond| 0))} {16422#true} #81#return; {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:28:05,665 INFO L272 TraceCheckUtils]: 17: Hoare triple {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,665 INFO L290 TraceCheckUtils]: 18: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,665 INFO L290 TraceCheckUtils]: 19: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,666 INFO L290 TraceCheckUtils]: 20: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,666 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16422#true} {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #83#return; {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:28:05,666 INFO L272 TraceCheckUtils]: 22: Hoare triple {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,666 INFO L290 TraceCheckUtils]: 23: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,666 INFO L290 TraceCheckUtils]: 24: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,666 INFO L290 TraceCheckUtils]: 25: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,666 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16422#true} {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #85#return; {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:28:05,667 INFO L290 TraceCheckUtils]: 27: Hoare triple {16477#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:05,667 INFO L272 TraceCheckUtils]: 28: Hoare triple {16511#(<= main_~b~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,667 INFO L290 TraceCheckUtils]: 29: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,667 INFO L290 TraceCheckUtils]: 30: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,667 INFO L290 TraceCheckUtils]: 31: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,667 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #87#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:05,667 INFO L272 TraceCheckUtils]: 33: Hoare triple {16511#(<= main_~b~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,667 INFO L290 TraceCheckUtils]: 34: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,667 INFO L290 TraceCheckUtils]: 35: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,667 INFO L290 TraceCheckUtils]: 36: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,668 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #89#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:05,668 INFO L290 TraceCheckUtils]: 38: Hoare triple {16511#(<= main_~b~0 2)} assume !false; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:05,668 INFO L290 TraceCheckUtils]: 39: Hoare triple {16511#(<= main_~b~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:05,668 INFO L290 TraceCheckUtils]: 40: Hoare triple {16511#(<= main_~b~0 2)} assume !false; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:05,668 INFO L272 TraceCheckUtils]: 41: Hoare triple {16511#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,668 INFO L290 TraceCheckUtils]: 42: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,668 INFO L290 TraceCheckUtils]: 43: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,669 INFO L290 TraceCheckUtils]: 44: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,669 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #91#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:05,669 INFO L272 TraceCheckUtils]: 46: Hoare triple {16511#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,669 INFO L290 TraceCheckUtils]: 47: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,669 INFO L290 TraceCheckUtils]: 48: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,669 INFO L290 TraceCheckUtils]: 49: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,669 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #93#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:05,669 INFO L272 TraceCheckUtils]: 51: Hoare triple {16511#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,670 INFO L290 TraceCheckUtils]: 52: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,670 INFO L290 TraceCheckUtils]: 53: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,670 INFO L290 TraceCheckUtils]: 54: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,670 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #95#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:05,670 INFO L272 TraceCheckUtils]: 56: Hoare triple {16511#(<= main_~b~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,670 INFO L290 TraceCheckUtils]: 57: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,670 INFO L290 TraceCheckUtils]: 58: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,670 INFO L290 TraceCheckUtils]: 59: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,671 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #97#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:05,671 INFO L290 TraceCheckUtils]: 61: Hoare triple {16511#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {16614#(and (<= main_~b~0 2) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 12:28:05,671 INFO L290 TraceCheckUtils]: 62: Hoare triple {16614#(and (<= main_~b~0 2) (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; {16618#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-28 12:28:05,672 INFO L290 TraceCheckUtils]: 63: Hoare triple {16618#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} assume !false; {16618#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} is VALID [2022-04-28 12:28:05,672 INFO L290 TraceCheckUtils]: 64: Hoare triple {16618#(and (< main_~b~0 main_~a~0) (< main_~b~0 2))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 12:28:05,672 INFO L290 TraceCheckUtils]: 65: Hoare triple {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} assume !false; {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 12:28:05,672 INFO L272 TraceCheckUtils]: 66: Hoare triple {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,672 INFO L290 TraceCheckUtils]: 67: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,672 INFO L290 TraceCheckUtils]: 68: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,672 INFO L290 TraceCheckUtils]: 69: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,673 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {16422#true} {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} #91#return; {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 12:28:05,673 INFO L272 TraceCheckUtils]: 71: Hoare triple {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,673 INFO L290 TraceCheckUtils]: 72: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,673 INFO L290 TraceCheckUtils]: 73: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,673 INFO L290 TraceCheckUtils]: 74: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,673 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {16422#true} {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} #93#return; {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 12:28:05,673 INFO L272 TraceCheckUtils]: 76: Hoare triple {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,673 INFO L290 TraceCheckUtils]: 77: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,673 INFO L290 TraceCheckUtils]: 78: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,673 INFO L290 TraceCheckUtils]: 79: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,674 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {16422#true} {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} #95#return; {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 12:28:05,674 INFO L272 TraceCheckUtils]: 81: Hoare triple {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,674 INFO L290 TraceCheckUtils]: 82: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,674 INFO L290 TraceCheckUtils]: 83: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,674 INFO L290 TraceCheckUtils]: 84: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,674 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {16422#true} {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} #97#return; {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 12:28:05,675 INFO L290 TraceCheckUtils]: 86: Hoare triple {16625#(and (< main_~b~0 main_~c~0) (< main_~b~0 2))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 12:28:05,676 INFO L290 TraceCheckUtils]: 87: Hoare triple {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} assume !false; {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 12:28:05,676 INFO L272 TraceCheckUtils]: 88: Hoare triple {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,676 INFO L290 TraceCheckUtils]: 89: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,676 INFO L290 TraceCheckUtils]: 90: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,676 INFO L290 TraceCheckUtils]: 91: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,676 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {16422#true} {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} #91#return; {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 12:28:05,676 INFO L272 TraceCheckUtils]: 93: Hoare triple {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,676 INFO L290 TraceCheckUtils]: 94: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,676 INFO L290 TraceCheckUtils]: 95: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,676 INFO L290 TraceCheckUtils]: 96: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,677 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {16422#true} {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} #93#return; {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 12:28:05,677 INFO L272 TraceCheckUtils]: 98: Hoare triple {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,677 INFO L290 TraceCheckUtils]: 99: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,677 INFO L290 TraceCheckUtils]: 100: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,677 INFO L290 TraceCheckUtils]: 101: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,677 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {16422#true} {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} #95#return; {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 12:28:05,677 INFO L272 TraceCheckUtils]: 103: Hoare triple {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:05,677 INFO L290 TraceCheckUtils]: 104: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:05,678 INFO L290 TraceCheckUtils]: 105: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:05,678 INFO L290 TraceCheckUtils]: 106: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:05,678 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {16422#true} {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} #97#return; {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} is VALID [2022-04-28 12:28:05,678 INFO L290 TraceCheckUtils]: 108: Hoare triple {16692#(and (< 0 main_~c~0) (< main_~b~0 2))} assume !(~c~0 >= ~b~0); {16423#false} is VALID [2022-04-28 12:28:05,678 INFO L290 TraceCheckUtils]: 109: Hoare triple {16423#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; {16423#false} is VALID [2022-04-28 12:28:05,678 INFO L290 TraceCheckUtils]: 110: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-28 12:28:05,679 INFO L290 TraceCheckUtils]: 111: Hoare triple {16423#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16423#false} is VALID [2022-04-28 12:28:05,679 INFO L290 TraceCheckUtils]: 112: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-28 12:28:05,679 INFO L272 TraceCheckUtils]: 113: Hoare triple {16423#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16423#false} is VALID [2022-04-28 12:28:05,679 INFO L290 TraceCheckUtils]: 114: Hoare triple {16423#false} ~cond := #in~cond; {16423#false} is VALID [2022-04-28 12:28:05,679 INFO L290 TraceCheckUtils]: 115: Hoare triple {16423#false} assume !(0 == ~cond); {16423#false} is VALID [2022-04-28 12:28:05,679 INFO L290 TraceCheckUtils]: 116: Hoare triple {16423#false} assume true; {16423#false} is VALID [2022-04-28 12:28:05,679 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {16423#false} {16423#false} #91#return; {16423#false} is VALID [2022-04-28 12:28:05,679 INFO L272 TraceCheckUtils]: 118: Hoare triple {16423#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16423#false} is VALID [2022-04-28 12:28:05,679 INFO L290 TraceCheckUtils]: 119: Hoare triple {16423#false} ~cond := #in~cond; {16423#false} is VALID [2022-04-28 12:28:05,679 INFO L290 TraceCheckUtils]: 120: Hoare triple {16423#false} assume 0 == ~cond; {16423#false} is VALID [2022-04-28 12:28:05,679 INFO L290 TraceCheckUtils]: 121: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-28 12:28:05,680 INFO L134 CoverageAnalysis]: Checked inductivity of 432 backedges. 103 proven. 18 refuted. 0 times theorem prover too weak. 311 trivial. 0 not checked. [2022-04-28 12:28:05,680 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:28:06,051 INFO L290 TraceCheckUtils]: 121: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-28 12:28:06,052 INFO L290 TraceCheckUtils]: 120: Hoare triple {16423#false} assume 0 == ~cond; {16423#false} is VALID [2022-04-28 12:28:06,052 INFO L290 TraceCheckUtils]: 119: Hoare triple {16423#false} ~cond := #in~cond; {16423#false} is VALID [2022-04-28 12:28:06,052 INFO L272 TraceCheckUtils]: 118: Hoare triple {16423#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16423#false} is VALID [2022-04-28 12:28:06,052 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {16422#true} {16423#false} #91#return; {16423#false} is VALID [2022-04-28 12:28:06,052 INFO L290 TraceCheckUtils]: 116: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,052 INFO L290 TraceCheckUtils]: 115: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,052 INFO L290 TraceCheckUtils]: 114: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,052 INFO L272 TraceCheckUtils]: 113: Hoare triple {16423#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,052 INFO L290 TraceCheckUtils]: 112: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-28 12:28:06,052 INFO L290 TraceCheckUtils]: 111: Hoare triple {16423#false} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16423#false} is VALID [2022-04-28 12:28:06,052 INFO L290 TraceCheckUtils]: 110: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-28 12:28:06,052 INFO L290 TraceCheckUtils]: 109: Hoare triple {16423#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; {16423#false} is VALID [2022-04-28 12:28:06,053 INFO L290 TraceCheckUtils]: 108: Hoare triple {16837#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {16423#false} is VALID [2022-04-28 12:28:06,053 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {16422#true} {16837#(<= main_~b~0 main_~c~0)} #97#return; {16837#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:06,053 INFO L290 TraceCheckUtils]: 106: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,054 INFO L290 TraceCheckUtils]: 105: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,054 INFO L290 TraceCheckUtils]: 104: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,054 INFO L272 TraceCheckUtils]: 103: Hoare triple {16837#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,054 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {16422#true} {16837#(<= main_~b~0 main_~c~0)} #95#return; {16837#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:06,054 INFO L290 TraceCheckUtils]: 101: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,054 INFO L290 TraceCheckUtils]: 100: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,054 INFO L290 TraceCheckUtils]: 99: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,054 INFO L272 TraceCheckUtils]: 98: Hoare triple {16837#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,055 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {16422#true} {16837#(<= main_~b~0 main_~c~0)} #93#return; {16837#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:06,055 INFO L290 TraceCheckUtils]: 96: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,055 INFO L290 TraceCheckUtils]: 95: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,055 INFO L290 TraceCheckUtils]: 94: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,055 INFO L272 TraceCheckUtils]: 93: Hoare triple {16837#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,056 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {16422#true} {16837#(<= main_~b~0 main_~c~0)} #91#return; {16837#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:06,056 INFO L290 TraceCheckUtils]: 91: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,056 INFO L290 TraceCheckUtils]: 90: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,056 INFO L290 TraceCheckUtils]: 89: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,056 INFO L272 TraceCheckUtils]: 88: Hoare triple {16837#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,056 INFO L290 TraceCheckUtils]: 87: Hoare triple {16837#(<= main_~b~0 main_~c~0)} assume !false; {16837#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:06,057 INFO L290 TraceCheckUtils]: 86: Hoare triple {16904#(<= (* main_~b~0 2) main_~c~0)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {16837#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:28:06,058 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {16422#true} {16904#(<= (* main_~b~0 2) main_~c~0)} #97#return; {16904#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-28 12:28:06,058 INFO L290 TraceCheckUtils]: 84: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,058 INFO L290 TraceCheckUtils]: 83: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,058 INFO L290 TraceCheckUtils]: 82: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,058 INFO L272 TraceCheckUtils]: 81: Hoare triple {16904#(<= (* main_~b~0 2) main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,059 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {16422#true} {16904#(<= (* main_~b~0 2) main_~c~0)} #95#return; {16904#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-28 12:28:06,059 INFO L290 TraceCheckUtils]: 79: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,059 INFO L290 TraceCheckUtils]: 78: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,059 INFO L290 TraceCheckUtils]: 77: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,059 INFO L272 TraceCheckUtils]: 76: Hoare triple {16904#(<= (* main_~b~0 2) main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,060 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {16422#true} {16904#(<= (* main_~b~0 2) main_~c~0)} #93#return; {16904#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-28 12:28:06,060 INFO L290 TraceCheckUtils]: 74: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,060 INFO L290 TraceCheckUtils]: 73: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,060 INFO L290 TraceCheckUtils]: 72: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,060 INFO L272 TraceCheckUtils]: 71: Hoare triple {16904#(<= (* main_~b~0 2) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,060 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {16422#true} {16904#(<= (* main_~b~0 2) main_~c~0)} #91#return; {16904#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-28 12:28:06,060 INFO L290 TraceCheckUtils]: 69: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,061 INFO L290 TraceCheckUtils]: 68: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,061 INFO L290 TraceCheckUtils]: 67: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,061 INFO L272 TraceCheckUtils]: 66: Hoare triple {16904#(<= (* main_~b~0 2) main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,061 INFO L290 TraceCheckUtils]: 65: Hoare triple {16904#(<= (* main_~b~0 2) main_~c~0)} assume !false; {16904#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-28 12:28:06,061 INFO L290 TraceCheckUtils]: 64: Hoare triple {16971#(<= (* main_~b~0 2) main_~a~0)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16904#(<= (* main_~b~0 2) main_~c~0)} is VALID [2022-04-28 12:28:06,062 INFO L290 TraceCheckUtils]: 63: Hoare triple {16971#(<= (* main_~b~0 2) main_~a~0)} assume !false; {16971#(<= (* main_~b~0 2) main_~a~0)} is VALID [2022-04-28 12:28:06,062 INFO L290 TraceCheckUtils]: 62: Hoare triple {16978#(<= main_~c~0 (div 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; {16971#(<= (* main_~b~0 2) main_~a~0)} is VALID [2022-04-28 12:28:06,063 INFO L290 TraceCheckUtils]: 61: Hoare triple {16511#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {16978#(<= main_~c~0 (div main_~b~0 2))} is VALID [2022-04-28 12:28:06,064 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #97#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:06,064 INFO L290 TraceCheckUtils]: 59: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,064 INFO L290 TraceCheckUtils]: 58: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,064 INFO L290 TraceCheckUtils]: 57: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,064 INFO L272 TraceCheckUtils]: 56: Hoare triple {16511#(<= main_~b~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,064 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #95#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:06,065 INFO L290 TraceCheckUtils]: 54: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,065 INFO L290 TraceCheckUtils]: 53: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,065 INFO L290 TraceCheckUtils]: 52: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,065 INFO L272 TraceCheckUtils]: 51: Hoare triple {16511#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,065 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #93#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:06,065 INFO L290 TraceCheckUtils]: 49: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,065 INFO L290 TraceCheckUtils]: 48: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,065 INFO L290 TraceCheckUtils]: 47: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,066 INFO L272 TraceCheckUtils]: 46: Hoare triple {16511#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,066 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #91#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:06,066 INFO L290 TraceCheckUtils]: 44: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,066 INFO L290 TraceCheckUtils]: 43: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,066 INFO L290 TraceCheckUtils]: 42: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,066 INFO L272 TraceCheckUtils]: 41: Hoare triple {16511#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,066 INFO L290 TraceCheckUtils]: 40: Hoare triple {16511#(<= main_~b~0 2)} assume !false; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:06,067 INFO L290 TraceCheckUtils]: 39: Hoare triple {16511#(<= main_~b~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:06,067 INFO L290 TraceCheckUtils]: 38: Hoare triple {16511#(<= main_~b~0 2)} assume !false; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:06,067 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #89#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:06,067 INFO L290 TraceCheckUtils]: 36: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,068 INFO L290 TraceCheckUtils]: 35: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,068 INFO L290 TraceCheckUtils]: 34: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,068 INFO L272 TraceCheckUtils]: 33: Hoare triple {16511#(<= main_~b~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,068 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #87#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:06,068 INFO L290 TraceCheckUtils]: 31: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,068 INFO L290 TraceCheckUtils]: 30: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,068 INFO L290 TraceCheckUtils]: 29: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,068 INFO L272 TraceCheckUtils]: 28: Hoare triple {16511#(<= main_~b~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,069 INFO L290 TraceCheckUtils]: 27: Hoare triple {17084#(<= main_~y~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {16511#(<= main_~b~0 2)} is VALID [2022-04-28 12:28:06,069 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16422#true} {17084#(<= main_~y~0 2)} #85#return; {17084#(<= main_~y~0 2)} is VALID [2022-04-28 12:28:06,069 INFO L290 TraceCheckUtils]: 25: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,069 INFO L290 TraceCheckUtils]: 24: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,069 INFO L290 TraceCheckUtils]: 23: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,069 INFO L272 TraceCheckUtils]: 22: Hoare triple {17084#(<= main_~y~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,070 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16422#true} {17084#(<= main_~y~0 2)} #83#return; {17084#(<= main_~y~0 2)} is VALID [2022-04-28 12:28:06,070 INFO L290 TraceCheckUtils]: 20: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,070 INFO L290 TraceCheckUtils]: 19: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,070 INFO L290 TraceCheckUtils]: 18: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,070 INFO L272 TraceCheckUtils]: 17: Hoare triple {17084#(<= main_~y~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,070 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {16470#(not (= |assume_abort_if_not_#in~cond| 0))} {16422#true} #81#return; {17084#(<= main_~y~0 2)} is VALID [2022-04-28 12:28:06,071 INFO L290 TraceCheckUtils]: 15: Hoare triple {16470#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {16470#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:28:06,071 INFO L290 TraceCheckUtils]: 14: Hoare triple {17127#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {16470#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:28:06,071 INFO L290 TraceCheckUtils]: 13: Hoare triple {16422#true} ~cond := #in~cond; {17127#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:28:06,071 INFO L272 TraceCheckUtils]: 12: Hoare triple {16422#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,072 INFO L290 TraceCheckUtils]: 11: Hoare triple {16422#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16422#true} is VALID [2022-04-28 12:28:06,072 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16422#true} {16422#true} #79#return; {16422#true} is VALID [2022-04-28 12:28:06,072 INFO L290 TraceCheckUtils]: 9: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,072 INFO L290 TraceCheckUtils]: 8: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-28 12:28:06,072 INFO L290 TraceCheckUtils]: 7: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-28 12:28:06,072 INFO L272 TraceCheckUtils]: 6: Hoare triple {16422#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {16422#true} is VALID [2022-04-28 12:28:06,072 INFO L290 TraceCheckUtils]: 5: Hoare triple {16422#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {16422#true} is VALID [2022-04-28 12:28:06,072 INFO L272 TraceCheckUtils]: 4: Hoare triple {16422#true} call #t~ret6 := main(); {16422#true} is VALID [2022-04-28 12:28:06,072 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16422#true} {16422#true} #103#return; {16422#true} is VALID [2022-04-28 12:28:06,072 INFO L290 TraceCheckUtils]: 2: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-28 12:28:06,072 INFO L290 TraceCheckUtils]: 1: Hoare triple {16422#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); {16422#true} is VALID [2022-04-28 12:28:06,072 INFO L272 TraceCheckUtils]: 0: Hoare triple {16422#true} call ULTIMATE.init(); {16422#true} is VALID [2022-04-28 12:28:06,073 INFO L134 CoverageAnalysis]: Checked inductivity of 432 backedges. 43 proven. 32 refuted. 0 times theorem prover too weak. 357 trivial. 0 not checked. [2022-04-28 12:28:06,073 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:28:06,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1154610098] [2022-04-28 12:28:06,073 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:28:06,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [56708270] [2022-04-28 12:28:06,073 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [56708270] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:28:06,073 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:28:06,073 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-28 12:28:06,073 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:28:06,073 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [140911311] [2022-04-28 12:28:06,073 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [140911311] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:28:06,073 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:28:06,074 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:28:06,074 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [690586482] [2022-04-28 12:28:06,074 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:28:06,074 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 6 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 6 states have call predecessors, (20), 6 states have call successors, (20) Word has length 122 [2022-04-28 12:28:06,074 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:28:06,074 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 6 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 6 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 12:28:06,132 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:28:06,132 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:28:06,132 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:28:06,133 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:28:06,133 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=199, Unknown=0, NotChecked=0, Total=240 [2022-04-28 12:28:06,133 INFO L87 Difference]: Start difference. First operand 188 states and 258 transitions. Second operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 6 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 6 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 12:28:07,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:28:07,638 INFO L93 Difference]: Finished difference Result 221 states and 305 transitions. [2022-04-28 12:28:07,638 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:28:07,638 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 6 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 6 states have call predecessors, (20), 6 states have call successors, (20) Word has length 122 [2022-04-28 12:28:07,638 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:28:07,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 6 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 6 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 12:28:07,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-28 12:28:07,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 6 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 6 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 12:28:07,641 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-28 12:28:07,641 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 104 transitions. [2022-04-28 12:28:07,728 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 104 edges. 104 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:28:07,731 INFO L225 Difference]: With dead ends: 221 [2022-04-28 12:28:07,731 INFO L226 Difference]: Without dead ends: 185 [2022-04-28 12:28:07,732 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 250 GetRequests, 228 SyntacticMatches, 1 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=102, Invalid=404, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:28:07,732 INFO L413 NwaCegarLoop]: 56 mSDtfsCounter, 18 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 306 mSolverCounterSat, 36 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 245 SdHoareTripleChecker+Invalid, 342 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 36 IncrementalHoareTripleChecker+Valid, 306 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:28:07,732 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [18 Valid, 245 Invalid, 342 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [36 Valid, 306 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:28:07,732 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states. [2022-04-28 12:28:08,353 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 185. [2022-04-28 12:28:08,353 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:28:08,354 INFO L82 GeneralOperation]: Start isEquivalent. First operand 185 states. Second operand has 185 states, 94 states have (on average 1.1063829787234043) internal successors, (104), 96 states have internal predecessors, (104), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:28:08,354 INFO L74 IsIncluded]: Start isIncluded. First operand 185 states. Second operand has 185 states, 94 states have (on average 1.1063829787234043) internal successors, (104), 96 states have internal predecessors, (104), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:28:08,354 INFO L87 Difference]: Start difference. First operand 185 states. Second operand has 185 states, 94 states have (on average 1.1063829787234043) internal successors, (104), 96 states have internal predecessors, (104), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:28:08,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:28:08,358 INFO L93 Difference]: Finished difference Result 185 states and 251 transitions. [2022-04-28 12:28:08,358 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 251 transitions. [2022-04-28 12:28:08,358 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:28:08,358 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:28:08,359 INFO L74 IsIncluded]: Start isIncluded. First operand has 185 states, 94 states have (on average 1.1063829787234043) internal successors, (104), 96 states have internal predecessors, (104), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 185 states. [2022-04-28 12:28:08,359 INFO L87 Difference]: Start difference. First operand has 185 states, 94 states have (on average 1.1063829787234043) internal successors, (104), 96 states have internal predecessors, (104), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 185 states. [2022-04-28 12:28:08,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:28:08,362 INFO L93 Difference]: Finished difference Result 185 states and 251 transitions. [2022-04-28 12:28:08,362 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 251 transitions. [2022-04-28 12:28:08,363 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:28:08,363 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:28:08,363 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:28:08,363 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:28:08,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 185 states, 94 states have (on average 1.1063829787234043) internal successors, (104), 96 states have internal predecessors, (104), 75 states have call successors, (75), 16 states have call predecessors, (75), 15 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:28:08,366 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 185 states to 185 states and 251 transitions. [2022-04-28 12:28:08,367 INFO L78 Accepts]: Start accepts. Automaton has 185 states and 251 transitions. Word has length 122 [2022-04-28 12:28:08,367 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:28:08,367 INFO L495 AbstractCegarLoop]: Abstraction has 185 states and 251 transitions. [2022-04-28 12:28:08,367 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.4) internal successors, (34), 9 states have internal predecessors, (34), 6 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 6 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 12:28:08,367 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 185 states and 251 transitions. [2022-04-28 12:28:08,838 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 251 edges. 251 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:28:08,838 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 251 transitions. [2022-04-28 12:28:08,839 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 130 [2022-04-28 12:28:08,839 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:28:08,839 INFO L195 NwaCegarLoop]: trace histogram [16, 15, 15, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 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] [2022-04-28 12:28:08,858 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 12:28:09,039 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 12:28:09,040 INFO L420 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:28:09,040 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:28:09,040 INFO L85 PathProgramCache]: Analyzing trace with hash -2138166692, now seen corresponding path program 5 times [2022-04-28 12:28:09,040 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:28:09,041 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [418073236] [2022-04-28 12:28:09,041 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:28:09,041 INFO L85 PathProgramCache]: Analyzing trace with hash -2138166692, now seen corresponding path program 6 times [2022-04-28 12:28:09,041 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:28:09,041 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1064856863] [2022-04-28 12:28:09,041 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:28:09,041 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:28:09,051 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:28:09,051 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1157149758] [2022-04-28 12:28:09,051 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:28:09,051 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:28:09,052 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:28:09,084 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 12:28:09,085 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 12:28:09,179 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-28 12:28:09,179 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:28:09,180 INFO L263 TraceCheckSpWp]: Trace formula consists of 215 conjuncts, 58 conjunts are in the unsatisfiable core [2022-04-28 12:28:09,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:28:09,200 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:28:11,104 INFO L272 TraceCheckUtils]: 0: Hoare triple {18365#true} call ULTIMATE.init(); {18365#true} is VALID [2022-04-28 12:28:11,104 INFO L290 TraceCheckUtils]: 1: Hoare triple {18365#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); {18365#true} is VALID [2022-04-28 12:28:11,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,105 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18365#true} {18365#true} #103#return; {18365#true} is VALID [2022-04-28 12:28:11,105 INFO L272 TraceCheckUtils]: 4: Hoare triple {18365#true} call #t~ret6 := main(); {18365#true} is VALID [2022-04-28 12:28:11,105 INFO L290 TraceCheckUtils]: 5: Hoare triple {18365#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {18365#true} is VALID [2022-04-28 12:28:11,105 INFO L272 TraceCheckUtils]: 6: Hoare triple {18365#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,105 INFO L290 TraceCheckUtils]: 7: Hoare triple {18365#true} ~cond := #in~cond; {18391#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:28:11,105 INFO L290 TraceCheckUtils]: 8: Hoare triple {18391#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {18395#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:28:11,105 INFO L290 TraceCheckUtils]: 9: Hoare triple {18395#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {18395#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:28:11,106 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18395#(not (= |assume_abort_if_not_#in~cond| 0))} {18365#true} #79#return; {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:28:11,106 INFO L290 TraceCheckUtils]: 11: Hoare triple {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:28:11,106 INFO L272 TraceCheckUtils]: 12: Hoare triple {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,106 INFO L290 TraceCheckUtils]: 13: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,106 INFO L290 TraceCheckUtils]: 14: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,106 INFO L290 TraceCheckUtils]: 15: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,107 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {18365#true} {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #81#return; {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:28:11,107 INFO L272 TraceCheckUtils]: 17: Hoare triple {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,107 INFO L290 TraceCheckUtils]: 18: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,107 INFO L290 TraceCheckUtils]: 19: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,107 INFO L290 TraceCheckUtils]: 20: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,107 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {18365#true} {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #83#return; {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:28:11,107 INFO L272 TraceCheckUtils]: 22: Hoare triple {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,107 INFO L290 TraceCheckUtils]: 23: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,107 INFO L290 TraceCheckUtils]: 24: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,107 INFO L290 TraceCheckUtils]: 25: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,108 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {18365#true} {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #85#return; {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:28:11,108 INFO L290 TraceCheckUtils]: 27: Hoare triple {18402#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,108 INFO L272 TraceCheckUtils]: 28: Hoare triple {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,108 INFO L290 TraceCheckUtils]: 29: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,108 INFO L290 TraceCheckUtils]: 30: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,108 INFO L290 TraceCheckUtils]: 31: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,109 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {18365#true} {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #87#return; {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,109 INFO L272 TraceCheckUtils]: 33: Hoare triple {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,109 INFO L290 TraceCheckUtils]: 34: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,109 INFO L290 TraceCheckUtils]: 35: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,109 INFO L290 TraceCheckUtils]: 36: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,109 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {18365#true} {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #89#return; {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,110 INFO L290 TraceCheckUtils]: 38: Hoare triple {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,110 INFO L290 TraceCheckUtils]: 39: Hoare triple {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,111 INFO L290 TraceCheckUtils]: 40: Hoare triple {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,111 INFO L272 TraceCheckUtils]: 41: Hoare triple {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,111 INFO L290 TraceCheckUtils]: 42: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,111 INFO L290 TraceCheckUtils]: 43: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,111 INFO L290 TraceCheckUtils]: 44: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,111 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {18365#true} {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #91#return; {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,111 INFO L272 TraceCheckUtils]: 46: Hoare triple {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,112 INFO L290 TraceCheckUtils]: 47: Hoare triple {18365#true} ~cond := #in~cond; {18515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:28:11,112 INFO L290 TraceCheckUtils]: 48: Hoare triple {18515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:28:11,112 INFO L290 TraceCheckUtils]: 49: Hoare triple {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:28:11,113 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} {18454#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (= main_~a~0 main_~x~0) (<= main_~x~0 2) (= main_~p~0 1))} #93#return; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,113 INFO L272 TraceCheckUtils]: 51: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,113 INFO L290 TraceCheckUtils]: 52: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,113 INFO L290 TraceCheckUtils]: 53: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,113 INFO L290 TraceCheckUtils]: 54: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,113 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {18365#true} {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #95#return; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,113 INFO L272 TraceCheckUtils]: 56: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,113 INFO L290 TraceCheckUtils]: 57: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,113 INFO L290 TraceCheckUtils]: 58: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,114 INFO L290 TraceCheckUtils]: 59: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,114 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {18365#true} {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #97#return; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,114 INFO L290 TraceCheckUtils]: 61: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,115 INFO L290 TraceCheckUtils]: 62: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,115 INFO L272 TraceCheckUtils]: 63: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,115 INFO L290 TraceCheckUtils]: 64: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,115 INFO L290 TraceCheckUtils]: 65: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,115 INFO L290 TraceCheckUtils]: 66: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,115 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {18365#true} {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #91#return; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,115 INFO L272 TraceCheckUtils]: 68: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,115 INFO L290 TraceCheckUtils]: 69: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,116 INFO L290 TraceCheckUtils]: 70: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,116 INFO L290 TraceCheckUtils]: 71: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,116 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {18365#true} {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #93#return; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,116 INFO L272 TraceCheckUtils]: 73: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,116 INFO L290 TraceCheckUtils]: 74: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,116 INFO L290 TraceCheckUtils]: 75: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,116 INFO L290 TraceCheckUtils]: 76: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,117 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {18365#true} {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #95#return; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,117 INFO L272 TraceCheckUtils]: 78: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,117 INFO L290 TraceCheckUtils]: 79: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,117 INFO L290 TraceCheckUtils]: 80: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,117 INFO L290 TraceCheckUtils]: 81: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,117 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {18365#true} {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #97#return; {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,118 INFO L290 TraceCheckUtils]: 83: Hoare triple {18526#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,119 INFO L290 TraceCheckUtils]: 84: Hoare triple {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,119 INFO L272 TraceCheckUtils]: 85: Hoare triple {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,119 INFO L290 TraceCheckUtils]: 86: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,119 INFO L290 TraceCheckUtils]: 87: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,119 INFO L290 TraceCheckUtils]: 88: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,120 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {18365#true} {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #91#return; {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,120 INFO L272 TraceCheckUtils]: 90: Hoare triple {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,120 INFO L290 TraceCheckUtils]: 91: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,120 INFO L290 TraceCheckUtils]: 92: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,120 INFO L290 TraceCheckUtils]: 93: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,120 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {18365#true} {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #93#return; {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,120 INFO L272 TraceCheckUtils]: 95: Hoare triple {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,120 INFO L290 TraceCheckUtils]: 96: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,120 INFO L290 TraceCheckUtils]: 97: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,121 INFO L290 TraceCheckUtils]: 98: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,121 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {18365#true} {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #95#return; {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,121 INFO L272 TraceCheckUtils]: 100: Hoare triple {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,121 INFO L290 TraceCheckUtils]: 101: Hoare triple {18365#true} ~cond := #in~cond; {18515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:28:11,121 INFO L290 TraceCheckUtils]: 102: Hoare triple {18515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:28:11,122 INFO L290 TraceCheckUtils]: 103: Hoare triple {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:28:11,122 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #97#return; {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,122 INFO L290 TraceCheckUtils]: 105: Hoare triple {18626#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {18693#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:28:11,123 INFO L290 TraceCheckUtils]: 106: Hoare triple {18693#(and (= main_~r~0 0) (= main_~s~0 1) (<= 0 main_~x~0) (<= 0 main_~c~0) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= 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; {18697#(and (<= 0 main_~x~0) (= main_~a~0 main_~y~0) (not (<= main_~a~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:28:11,123 INFO L290 TraceCheckUtils]: 107: Hoare triple {18697#(and (<= 0 main_~x~0) (= main_~a~0 main_~y~0) (not (<= main_~a~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} assume !false; {18697#(and (<= 0 main_~x~0) (= main_~a~0 main_~y~0) (not (<= main_~a~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:28:11,124 INFO L290 TraceCheckUtils]: 108: Hoare triple {18697#(and (<= 0 main_~x~0) (= main_~a~0 main_~y~0) (not (<= main_~a~0 main_~b~0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:28:11,124 INFO L290 TraceCheckUtils]: 109: Hoare triple {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} assume !false; {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:28:11,124 INFO L272 TraceCheckUtils]: 110: Hoare triple {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,124 INFO L290 TraceCheckUtils]: 111: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,124 INFO L290 TraceCheckUtils]: 112: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,124 INFO L290 TraceCheckUtils]: 113: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,125 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {18365#true} {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #91#return; {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:28:11,125 INFO L272 TraceCheckUtils]: 115: Hoare triple {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,125 INFO L290 TraceCheckUtils]: 116: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-28 12:28:11,125 INFO L290 TraceCheckUtils]: 117: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-28 12:28:11,125 INFO L290 TraceCheckUtils]: 118: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-28 12:28:11,125 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {18365#true} {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #93#return; {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:28:11,125 INFO L272 TraceCheckUtils]: 120: Hoare triple {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18365#true} is VALID [2022-04-28 12:28:11,125 INFO L290 TraceCheckUtils]: 121: Hoare triple {18365#true} ~cond := #in~cond; {18515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:28:11,126 INFO L290 TraceCheckUtils]: 122: Hoare triple {18515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:28:11,126 INFO L290 TraceCheckUtils]: 123: Hoare triple {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:28:11,126 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {18519#(not (= |__VERIFIER_assert_#in~cond| 0))} {18704#(and (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #95#return; {18753#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:28:11,129 INFO L272 TraceCheckUtils]: 125: Hoare triple {18753#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (<= main_~y~0 main_~b~0)) (<= 0 main_~x~0) (not (= main_~b~0 0)) (= main_~yy~0 (* main_~y~0 main_~y~0)) (<= 0 main_~b~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {18757#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:28:11,129 INFO L290 TraceCheckUtils]: 126: Hoare triple {18757#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18761#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:28:11,129 INFO L290 TraceCheckUtils]: 127: Hoare triple {18761#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18366#false} is VALID [2022-04-28 12:28:11,129 INFO L290 TraceCheckUtils]: 128: Hoare triple {18366#false} assume !false; {18366#false} is VALID [2022-04-28 12:28:11,130 INFO L134 CoverageAnalysis]: Checked inductivity of 545 backedges. 105 proven. 80 refuted. 0 times theorem prover too weak. 360 trivial. 0 not checked. [2022-04-28 12:28:11,130 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:29:09,981 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:29:09,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1064856863] [2022-04-28 12:29:09,982 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:29:09,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1157149758] [2022-04-28 12:29:09,982 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1157149758] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 12:29:09,982 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-28 12:29:09,982 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-28 12:29:09,982 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:29:09,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [418073236] [2022-04-28 12:29:09,982 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [418073236] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:29:09,982 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:29:09,982 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-28 12:29:09,982 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1520735762] [2022-04-28 12:29:09,983 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:29:09,983 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 7 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 6 states have call successors, (20) Word has length 129 [2022-04-28 12:29:09,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:29:09,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 7 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 12:29:10,060 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:29:10,060 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-28 12:29:10,060 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:29:10,060 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-28 12:29:10,060 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=401, Unknown=0, NotChecked=0, Total=506 [2022-04-28 12:29:10,061 INFO L87 Difference]: Start difference. First operand 185 states and 251 transitions. Second operand has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 7 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 12:29:14,310 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:29:14,311 INFO L93 Difference]: Finished difference Result 196 states and 260 transitions. [2022-04-28 12:29:14,311 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 12:29:14,311 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 7 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 6 states have call successors, (20) Word has length 129 [2022-04-28 12:29:14,311 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:29:14,311 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 7 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 12:29:14,312 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 88 transitions. [2022-04-28 12:29:14,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 7 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 12:29:14,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 88 transitions. [2022-04-28 12:29:14,313 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 88 transitions. [2022-04-28 12:29:14,406 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:29:14,409 INFO L225 Difference]: With dead ends: 196 [2022-04-28 12:29:14,409 INFO L226 Difference]: Without dead ends: 194 [2022-04-28 12:29:14,409 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 131 SyntacticMatches, 1 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 177 ImplicationChecksByTransitivity, 3.1s TimeCoverageRelationStatistics Valid=171, Invalid=699, Unknown=0, NotChecked=0, Total=870 [2022-04-28 12:29:14,410 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 32 mSDsluCounter, 191 mSDsCounter, 0 mSdLazyCounter, 636 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 668 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 32 IncrementalHoareTripleChecker+Valid, 636 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.4s IncrementalHoareTripleChecker+Time [2022-04-28 12:29:14,410 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [37 Valid, 230 Invalid, 668 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 636 Invalid, 0 Unknown, 0 Unchecked, 1.4s Time] [2022-04-28 12:29:14,410 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 194 states. [2022-04-28 12:29:14,852 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 194 to 193. [2022-04-28 12:29:14,852 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:29:14,853 INFO L82 GeneralOperation]: Start isEquivalent. First operand 194 states. Second operand has 193 states, 100 states have (on average 1.1) internal successors, (110), 102 states have internal predecessors, (110), 75 states have call successors, (75), 18 states have call predecessors, (75), 17 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:29:14,853 INFO L74 IsIncluded]: Start isIncluded. First operand 194 states. Second operand has 193 states, 100 states have (on average 1.1) internal successors, (110), 102 states have internal predecessors, (110), 75 states have call successors, (75), 18 states have call predecessors, (75), 17 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:29:14,853 INFO L87 Difference]: Start difference. First operand 194 states. Second operand has 193 states, 100 states have (on average 1.1) internal successors, (110), 102 states have internal predecessors, (110), 75 states have call successors, (75), 18 states have call predecessors, (75), 17 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:29:14,856 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:29:14,856 INFO L93 Difference]: Finished difference Result 194 states and 258 transitions. [2022-04-28 12:29:14,857 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 258 transitions. [2022-04-28 12:29:14,857 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:29:14,857 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:29:14,858 INFO L74 IsIncluded]: Start isIncluded. First operand has 193 states, 100 states have (on average 1.1) internal successors, (110), 102 states have internal predecessors, (110), 75 states have call successors, (75), 18 states have call predecessors, (75), 17 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 194 states. [2022-04-28 12:29:14,858 INFO L87 Difference]: Start difference. First operand has 193 states, 100 states have (on average 1.1) internal successors, (110), 102 states have internal predecessors, (110), 75 states have call successors, (75), 18 states have call predecessors, (75), 17 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) Second operand 194 states. [2022-04-28 12:29:14,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:29:14,862 INFO L93 Difference]: Finished difference Result 194 states and 258 transitions. [2022-04-28 12:29:14,862 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 258 transitions. [2022-04-28 12:29:14,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:29:14,863 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:29:14,863 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:29:14,863 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:29:14,863 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 193 states, 100 states have (on average 1.1) internal successors, (110), 102 states have internal predecessors, (110), 75 states have call successors, (75), 18 states have call predecessors, (75), 17 states have return successors, (72), 72 states have call predecessors, (72), 72 states have call successors, (72) [2022-04-28 12:29:14,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 257 transitions. [2022-04-28 12:29:14,866 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 257 transitions. Word has length 129 [2022-04-28 12:29:14,867 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:29:14,867 INFO L495 AbstractCegarLoop]: Abstraction has 193 states and 257 transitions. [2022-04-28 12:29:14,867 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 15 states have (on average 2.1333333333333333) internal successors, (32), 14 states have internal predecessors, (32), 7 states have call successors, (22), 2 states have call predecessors, (22), 3 states have return successors, (20), 7 states have call predecessors, (20), 6 states have call successors, (20) [2022-04-28 12:29:14,867 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 257 transitions. [2022-04-28 12:29:15,289 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 257 edges. 257 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:29:15,290 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 257 transitions. [2022-04-28 12:29:15,291 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2022-04-28 12:29:15,291 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:29:15,291 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 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 12:29:15,312 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 12:29:15,507 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 12:29:15,507 INFO L420 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:29:15,508 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:29:15,508 INFO L85 PathProgramCache]: Analyzing trace with hash 1068997356, now seen corresponding path program 7 times [2022-04-28 12:29:15,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:29:15,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1041527332] [2022-04-28 12:29:15,508 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:29:15,508 INFO L85 PathProgramCache]: Analyzing trace with hash 1068997356, now seen corresponding path program 8 times [2022-04-28 12:29:15,508 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:29:15,508 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [771312435] [2022-04-28 12:29:15,508 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:29:15,508 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:29:15,520 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:29:15,520 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [652823744] [2022-04-28 12:29:15,520 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:29:15,520 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:29:15,520 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:29:15,521 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 12:29:15,522 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 12:29:15,578 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:29:15,578 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:29:15,579 INFO L263 TraceCheckSpWp]: Trace formula consists of 317 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-28 12:29:15,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:29:15,611 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:29:16,068 INFO L272 TraceCheckUtils]: 0: Hoare triple {20029#true} call ULTIMATE.init(); {20029#true} is VALID [2022-04-28 12:29:16,068 INFO L290 TraceCheckUtils]: 1: Hoare triple {20029#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); {20029#true} is VALID [2022-04-28 12:29:16,068 INFO L290 TraceCheckUtils]: 2: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,068 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20029#true} {20029#true} #103#return; {20029#true} is VALID [2022-04-28 12:29:16,078 INFO L272 TraceCheckUtils]: 4: Hoare triple {20029#true} call #t~ret6 := main(); {20029#true} is VALID [2022-04-28 12:29:16,078 INFO L290 TraceCheckUtils]: 5: Hoare triple {20029#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {20029#true} is VALID [2022-04-28 12:29:16,079 INFO L272 TraceCheckUtils]: 6: Hoare triple {20029#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,080 INFO L290 TraceCheckUtils]: 7: Hoare triple {20029#true} ~cond := #in~cond; {20055#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:29:16,080 INFO L290 TraceCheckUtils]: 8: Hoare triple {20055#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {20059#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:29:16,081 INFO L290 TraceCheckUtils]: 9: Hoare triple {20059#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {20059#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:29:16,081 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20059#(not (= |assume_abort_if_not_#in~cond| 0))} {20029#true} #79#return; {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:29:16,082 INFO L290 TraceCheckUtils]: 11: Hoare triple {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:29:16,082 INFO L272 TraceCheckUtils]: 12: Hoare triple {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,082 INFO L290 TraceCheckUtils]: 13: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,082 INFO L290 TraceCheckUtils]: 14: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,082 INFO L290 TraceCheckUtils]: 15: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,082 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20029#true} {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #81#return; {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:29:16,083 INFO L272 TraceCheckUtils]: 17: Hoare triple {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,083 INFO L290 TraceCheckUtils]: 18: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,083 INFO L290 TraceCheckUtils]: 19: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,083 INFO L290 TraceCheckUtils]: 20: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,083 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20029#true} {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #83#return; {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:29:16,083 INFO L272 TraceCheckUtils]: 22: Hoare triple {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,083 INFO L290 TraceCheckUtils]: 23: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,083 INFO L290 TraceCheckUtils]: 24: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,083 INFO L290 TraceCheckUtils]: 25: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,084 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20029#true} {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #85#return; {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:29:16,084 INFO L290 TraceCheckUtils]: 27: Hoare triple {20066#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 12:29:16,084 INFO L272 TraceCheckUtils]: 28: Hoare triple {20118#(<= main_~a~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,085 INFO L290 TraceCheckUtils]: 29: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,085 INFO L290 TraceCheckUtils]: 30: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,085 INFO L290 TraceCheckUtils]: 31: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,085 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20029#true} {20118#(<= main_~a~0 2)} #87#return; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 12:29:16,085 INFO L272 TraceCheckUtils]: 33: Hoare triple {20118#(<= main_~a~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,085 INFO L290 TraceCheckUtils]: 34: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,085 INFO L290 TraceCheckUtils]: 35: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,085 INFO L290 TraceCheckUtils]: 36: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,086 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {20029#true} {20118#(<= main_~a~0 2)} #89#return; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 12:29:16,086 INFO L290 TraceCheckUtils]: 38: Hoare triple {20118#(<= main_~a~0 2)} assume !false; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 12:29:16,086 INFO L290 TraceCheckUtils]: 39: Hoare triple {20118#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 12:29:16,087 INFO L290 TraceCheckUtils]: 40: Hoare triple {20155#(<= main_~c~0 2)} assume !false; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 12:29:16,087 INFO L272 TraceCheckUtils]: 41: Hoare triple {20155#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,087 INFO L290 TraceCheckUtils]: 42: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,087 INFO L290 TraceCheckUtils]: 43: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,087 INFO L290 TraceCheckUtils]: 44: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,088 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #91#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 12:29:16,088 INFO L272 TraceCheckUtils]: 46: Hoare triple {20155#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,088 INFO L290 TraceCheckUtils]: 47: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,088 INFO L290 TraceCheckUtils]: 48: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,088 INFO L290 TraceCheckUtils]: 49: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,089 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #93#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 12:29:16,089 INFO L272 TraceCheckUtils]: 51: Hoare triple {20155#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,089 INFO L290 TraceCheckUtils]: 52: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,089 INFO L290 TraceCheckUtils]: 53: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,089 INFO L290 TraceCheckUtils]: 54: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,089 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #95#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 12:29:16,090 INFO L272 TraceCheckUtils]: 56: Hoare triple {20155#(<= main_~c~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,090 INFO L290 TraceCheckUtils]: 57: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,090 INFO L290 TraceCheckUtils]: 58: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,090 INFO L290 TraceCheckUtils]: 59: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,090 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #97#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 12:29:16,091 INFO L290 TraceCheckUtils]: 61: Hoare triple {20155#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20222#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 12:29:16,092 INFO L290 TraceCheckUtils]: 62: Hoare triple {20222#(<= (+ main_~c~0 main_~b~0) 2)} assume !false; {20222#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 12:29:16,092 INFO L272 TraceCheckUtils]: 63: Hoare triple {20222#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,092 INFO L290 TraceCheckUtils]: 64: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,092 INFO L290 TraceCheckUtils]: 65: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,092 INFO L290 TraceCheckUtils]: 66: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,092 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {20029#true} {20222#(<= (+ main_~c~0 main_~b~0) 2)} #91#return; {20222#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 12:29:16,093 INFO L272 TraceCheckUtils]: 68: Hoare triple {20222#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,093 INFO L290 TraceCheckUtils]: 69: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,093 INFO L290 TraceCheckUtils]: 70: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,093 INFO L290 TraceCheckUtils]: 71: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,093 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {20029#true} {20222#(<= (+ main_~c~0 main_~b~0) 2)} #93#return; {20222#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 12:29:16,093 INFO L272 TraceCheckUtils]: 73: Hoare triple {20222#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,093 INFO L290 TraceCheckUtils]: 74: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,094 INFO L290 TraceCheckUtils]: 75: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,094 INFO L290 TraceCheckUtils]: 76: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,094 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {20029#true} {20222#(<= (+ main_~c~0 main_~b~0) 2)} #95#return; {20222#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 12:29:16,094 INFO L272 TraceCheckUtils]: 78: Hoare triple {20222#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,094 INFO L290 TraceCheckUtils]: 79: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,094 INFO L290 TraceCheckUtils]: 80: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,094 INFO L290 TraceCheckUtils]: 81: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,095 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {20029#true} {20222#(<= (+ main_~c~0 main_~b~0) 2)} #97#return; {20222#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 12:29:16,096 INFO L290 TraceCheckUtils]: 83: Hoare triple {20222#(<= (+ main_~c~0 main_~b~0) 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-28 12:29:16,097 INFO L290 TraceCheckUtils]: 84: Hoare triple {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} assume !false; {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-28 12:29:16,097 INFO L272 TraceCheckUtils]: 85: Hoare triple {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,097 INFO L290 TraceCheckUtils]: 86: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,097 INFO L290 TraceCheckUtils]: 87: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,097 INFO L290 TraceCheckUtils]: 88: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,097 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {20029#true} {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #91#return; {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-28 12:29:16,097 INFO L272 TraceCheckUtils]: 90: Hoare triple {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,097 INFO L290 TraceCheckUtils]: 91: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,098 INFO L290 TraceCheckUtils]: 92: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,098 INFO L290 TraceCheckUtils]: 93: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,098 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {20029#true} {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #93#return; {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-28 12:29:16,098 INFO L272 TraceCheckUtils]: 95: Hoare triple {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,098 INFO L290 TraceCheckUtils]: 96: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,098 INFO L290 TraceCheckUtils]: 97: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,098 INFO L290 TraceCheckUtils]: 98: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,099 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {20029#true} {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #95#return; {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-28 12:29:16,099 INFO L272 TraceCheckUtils]: 100: Hoare triple {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,099 INFO L290 TraceCheckUtils]: 101: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,099 INFO L290 TraceCheckUtils]: 102: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,099 INFO L290 TraceCheckUtils]: 103: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,100 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {20029#true} {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} #97#return; {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} is VALID [2022-04-28 12:29:16,101 INFO L290 TraceCheckUtils]: 105: Hoare triple {20289#(<= (+ main_~c~0 (* main_~b~0 2)) 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 12:29:16,101 INFO L290 TraceCheckUtils]: 106: Hoare triple {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} assume !false; {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 12:29:16,101 INFO L272 TraceCheckUtils]: 107: Hoare triple {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,101 INFO L290 TraceCheckUtils]: 108: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,101 INFO L290 TraceCheckUtils]: 109: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,101 INFO L290 TraceCheckUtils]: 110: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,102 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {20029#true} {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #91#return; {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 12:29:16,102 INFO L272 TraceCheckUtils]: 112: Hoare triple {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,102 INFO L290 TraceCheckUtils]: 113: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,102 INFO L290 TraceCheckUtils]: 114: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,102 INFO L290 TraceCheckUtils]: 115: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,103 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {20029#true} {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #93#return; {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 12:29:16,103 INFO L272 TraceCheckUtils]: 117: Hoare triple {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,103 INFO L290 TraceCheckUtils]: 118: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,103 INFO L290 TraceCheckUtils]: 119: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,103 INFO L290 TraceCheckUtils]: 120: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,103 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {20029#true} {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #95#return; {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 12:29:16,103 INFO L272 TraceCheckUtils]: 122: Hoare triple {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,104 INFO L290 TraceCheckUtils]: 123: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,104 INFO L290 TraceCheckUtils]: 124: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,104 INFO L290 TraceCheckUtils]: 125: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,104 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {20029#true} {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} #97#return; {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} is VALID [2022-04-28 12:29:16,105 INFO L290 TraceCheckUtils]: 127: Hoare triple {20356#(and (<= (* main_~b~0 3) 2) (<= 0 main_~c~0))} assume !(~c~0 >= ~b~0); {20030#false} is VALID [2022-04-28 12:29:16,105 INFO L290 TraceCheckUtils]: 128: Hoare triple {20030#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; {20030#false} is VALID [2022-04-28 12:29:16,105 INFO L290 TraceCheckUtils]: 129: Hoare triple {20030#false} assume !false; {20030#false} is VALID [2022-04-28 12:29:16,105 INFO L290 TraceCheckUtils]: 130: Hoare triple {20030#false} assume !(0 != ~b~0); {20030#false} is VALID [2022-04-28 12:29:16,105 INFO L272 TraceCheckUtils]: 131: Hoare triple {20030#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {20030#false} is VALID [2022-04-28 12:29:16,105 INFO L290 TraceCheckUtils]: 132: Hoare triple {20030#false} ~cond := #in~cond; {20030#false} is VALID [2022-04-28 12:29:16,105 INFO L290 TraceCheckUtils]: 133: Hoare triple {20030#false} assume 0 == ~cond; {20030#false} is VALID [2022-04-28 12:29:16,105 INFO L290 TraceCheckUtils]: 134: Hoare triple {20030#false} assume !false; {20030#false} is VALID [2022-04-28 12:29:16,106 INFO L134 CoverageAnalysis]: Checked inductivity of 610 backedges. 34 proven. 51 refuted. 0 times theorem prover too weak. 525 trivial. 0 not checked. [2022-04-28 12:29:16,106 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:29:16,504 INFO L290 TraceCheckUtils]: 134: Hoare triple {20030#false} assume !false; {20030#false} is VALID [2022-04-28 12:29:16,504 INFO L290 TraceCheckUtils]: 133: Hoare triple {20030#false} assume 0 == ~cond; {20030#false} is VALID [2022-04-28 12:29:16,504 INFO L290 TraceCheckUtils]: 132: Hoare triple {20030#false} ~cond := #in~cond; {20030#false} is VALID [2022-04-28 12:29:16,504 INFO L272 TraceCheckUtils]: 131: Hoare triple {20030#false} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {20030#false} is VALID [2022-04-28 12:29:16,504 INFO L290 TraceCheckUtils]: 130: Hoare triple {20030#false} assume !(0 != ~b~0); {20030#false} is VALID [2022-04-28 12:29:16,504 INFO L290 TraceCheckUtils]: 129: Hoare triple {20030#false} assume !false; {20030#false} is VALID [2022-04-28 12:29:16,504 INFO L290 TraceCheckUtils]: 128: Hoare triple {20030#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; {20030#false} is VALID [2022-04-28 12:29:16,505 INFO L290 TraceCheckUtils]: 127: Hoare triple {20465#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {20030#false} is VALID [2022-04-28 12:29:16,505 INFO L284 TraceCheckUtils]: 126: Hoare quadruple {20029#true} {20465#(<= main_~b~0 main_~c~0)} #97#return; {20465#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:29:16,505 INFO L290 TraceCheckUtils]: 125: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,505 INFO L290 TraceCheckUtils]: 124: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,505 INFO L290 TraceCheckUtils]: 123: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,505 INFO L272 TraceCheckUtils]: 122: Hoare triple {20465#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,506 INFO L284 TraceCheckUtils]: 121: Hoare quadruple {20029#true} {20465#(<= main_~b~0 main_~c~0)} #95#return; {20465#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:29:16,506 INFO L290 TraceCheckUtils]: 120: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,506 INFO L290 TraceCheckUtils]: 119: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,506 INFO L290 TraceCheckUtils]: 118: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,506 INFO L272 TraceCheckUtils]: 117: Hoare triple {20465#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,506 INFO L284 TraceCheckUtils]: 116: Hoare quadruple {20029#true} {20465#(<= main_~b~0 main_~c~0)} #93#return; {20465#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:29:16,506 INFO L290 TraceCheckUtils]: 115: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,506 INFO L290 TraceCheckUtils]: 114: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,506 INFO L290 TraceCheckUtils]: 113: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,506 INFO L272 TraceCheckUtils]: 112: Hoare triple {20465#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,507 INFO L284 TraceCheckUtils]: 111: Hoare quadruple {20029#true} {20465#(<= main_~b~0 main_~c~0)} #91#return; {20465#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:29:16,507 INFO L290 TraceCheckUtils]: 110: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,507 INFO L290 TraceCheckUtils]: 109: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,507 INFO L290 TraceCheckUtils]: 108: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,507 INFO L272 TraceCheckUtils]: 107: Hoare triple {20465#(<= main_~b~0 main_~c~0)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,507 INFO L290 TraceCheckUtils]: 106: Hoare triple {20465#(<= main_~b~0 main_~c~0)} assume !false; {20465#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:29:16,508 INFO L290 TraceCheckUtils]: 105: Hoare triple {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20465#(<= main_~b~0 main_~c~0)} is VALID [2022-04-28 12:29:16,508 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {20029#true} {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #97#return; {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 12:29:16,508 INFO L290 TraceCheckUtils]: 103: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,509 INFO L290 TraceCheckUtils]: 102: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,509 INFO L290 TraceCheckUtils]: 101: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,509 INFO L272 TraceCheckUtils]: 100: Hoare triple {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,509 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {20029#true} {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #95#return; {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 12:29:16,509 INFO L290 TraceCheckUtils]: 98: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,509 INFO L290 TraceCheckUtils]: 97: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,509 INFO L290 TraceCheckUtils]: 96: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,509 INFO L272 TraceCheckUtils]: 95: Hoare triple {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,510 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {20029#true} {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #93#return; {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 12:29:16,510 INFO L290 TraceCheckUtils]: 93: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,510 INFO L290 TraceCheckUtils]: 92: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,510 INFO L290 TraceCheckUtils]: 91: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,510 INFO L272 TraceCheckUtils]: 90: Hoare triple {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,510 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {20029#true} {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} #91#return; {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 12:29:16,510 INFO L290 TraceCheckUtils]: 88: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,510 INFO L290 TraceCheckUtils]: 87: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,510 INFO L290 TraceCheckUtils]: 86: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,510 INFO L272 TraceCheckUtils]: 85: Hoare triple {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,511 INFO L290 TraceCheckUtils]: 84: Hoare triple {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} assume !false; {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 12:29:16,511 INFO L290 TraceCheckUtils]: 83: Hoare triple {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20532#(or (<= (* main_~b~0 2) main_~c~0) (not (<= main_~b~0 main_~c~0)))} is VALID [2022-04-28 12:29:16,512 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {20029#true} {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #97#return; {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-28 12:29:16,512 INFO L290 TraceCheckUtils]: 81: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,512 INFO L290 TraceCheckUtils]: 80: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,512 INFO L290 TraceCheckUtils]: 79: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,512 INFO L272 TraceCheckUtils]: 78: Hoare triple {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,512 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {20029#true} {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #95#return; {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-28 12:29:16,512 INFO L290 TraceCheckUtils]: 76: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,512 INFO L290 TraceCheckUtils]: 75: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,513 INFO L290 TraceCheckUtils]: 74: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,513 INFO L272 TraceCheckUtils]: 73: Hoare triple {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,513 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {20029#true} {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #93#return; {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-28 12:29:16,513 INFO L290 TraceCheckUtils]: 71: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,513 INFO L290 TraceCheckUtils]: 70: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,513 INFO L290 TraceCheckUtils]: 69: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,513 INFO L272 TraceCheckUtils]: 68: Hoare triple {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,513 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {20029#true} {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} #91#return; {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-28 12:29:16,514 INFO L290 TraceCheckUtils]: 66: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,514 INFO L290 TraceCheckUtils]: 65: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,514 INFO L290 TraceCheckUtils]: 64: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,514 INFO L272 TraceCheckUtils]: 63: Hoare triple {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,514 INFO L290 TraceCheckUtils]: 62: Hoare triple {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} assume !false; {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-28 12:29:16,515 INFO L290 TraceCheckUtils]: 61: Hoare triple {20155#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {20599#(or (< main_~c~0 (* main_~b~0 2)) (<= main_~b~0 0))} is VALID [2022-04-28 12:29:16,515 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #97#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 12:29:16,515 INFO L290 TraceCheckUtils]: 59: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,515 INFO L290 TraceCheckUtils]: 58: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,515 INFO L290 TraceCheckUtils]: 57: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,515 INFO L272 TraceCheckUtils]: 56: Hoare triple {20155#(<= main_~c~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,516 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #95#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 12:29:16,516 INFO L290 TraceCheckUtils]: 54: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,516 INFO L290 TraceCheckUtils]: 53: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,516 INFO L290 TraceCheckUtils]: 52: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,516 INFO L272 TraceCheckUtils]: 51: Hoare triple {20155#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,516 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #93#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 12:29:16,516 INFO L290 TraceCheckUtils]: 49: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,517 INFO L290 TraceCheckUtils]: 48: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,517 INFO L290 TraceCheckUtils]: 47: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,517 INFO L272 TraceCheckUtils]: 46: Hoare triple {20155#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,517 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #91#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 12:29:16,517 INFO L290 TraceCheckUtils]: 44: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,517 INFO L290 TraceCheckUtils]: 43: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,517 INFO L290 TraceCheckUtils]: 42: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,517 INFO L272 TraceCheckUtils]: 41: Hoare triple {20155#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,517 INFO L290 TraceCheckUtils]: 40: Hoare triple {20155#(<= main_~c~0 2)} assume !false; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 12:29:16,518 INFO L290 TraceCheckUtils]: 39: Hoare triple {20118#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {20155#(<= main_~c~0 2)} is VALID [2022-04-28 12:29:16,518 INFO L290 TraceCheckUtils]: 38: Hoare triple {20118#(<= main_~a~0 2)} assume !false; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 12:29:16,518 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {20029#true} {20118#(<= main_~a~0 2)} #89#return; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 12:29:16,518 INFO L290 TraceCheckUtils]: 36: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,518 INFO L290 TraceCheckUtils]: 35: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,518 INFO L290 TraceCheckUtils]: 34: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,518 INFO L272 TraceCheckUtils]: 33: Hoare triple {20118#(<= main_~a~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,519 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20029#true} {20118#(<= main_~a~0 2)} #87#return; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 12:29:16,519 INFO L290 TraceCheckUtils]: 31: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,519 INFO L290 TraceCheckUtils]: 30: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,519 INFO L290 TraceCheckUtils]: 29: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,519 INFO L272 TraceCheckUtils]: 28: Hoare triple {20118#(<= main_~a~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,519 INFO L290 TraceCheckUtils]: 27: Hoare triple {20768#(<= main_~x~0 2)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {20118#(<= main_~a~0 2)} is VALID [2022-04-28 12:29:16,519 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20029#true} {20768#(<= main_~x~0 2)} #85#return; {20768#(<= main_~x~0 2)} is VALID [2022-04-28 12:29:16,519 INFO L290 TraceCheckUtils]: 25: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,520 INFO L290 TraceCheckUtils]: 24: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,520 INFO L290 TraceCheckUtils]: 23: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,520 INFO L272 TraceCheckUtils]: 22: Hoare triple {20768#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,520 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20029#true} {20768#(<= main_~x~0 2)} #83#return; {20768#(<= main_~x~0 2)} is VALID [2022-04-28 12:29:16,520 INFO L290 TraceCheckUtils]: 20: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,520 INFO L290 TraceCheckUtils]: 19: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,520 INFO L290 TraceCheckUtils]: 18: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,520 INFO L272 TraceCheckUtils]: 17: Hoare triple {20768#(<= main_~x~0 2)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,520 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20029#true} {20768#(<= main_~x~0 2)} #81#return; {20768#(<= main_~x~0 2)} is VALID [2022-04-28 12:29:16,521 INFO L290 TraceCheckUtils]: 15: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,521 INFO L290 TraceCheckUtils]: 14: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-28 12:29:16,521 INFO L290 TraceCheckUtils]: 13: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-28 12:29:16,521 INFO L272 TraceCheckUtils]: 12: Hoare triple {20768#(<= main_~x~0 2)} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,521 INFO L290 TraceCheckUtils]: 11: Hoare triple {20768#(<= main_~x~0 2)} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20768#(<= main_~x~0 2)} is VALID [2022-04-28 12:29:16,521 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20059#(not (= |assume_abort_if_not_#in~cond| 0))} {20029#true} #79#return; {20768#(<= main_~x~0 2)} is VALID [2022-04-28 12:29:16,521 INFO L290 TraceCheckUtils]: 9: Hoare triple {20059#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {20059#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:29:16,522 INFO L290 TraceCheckUtils]: 8: Hoare triple {20829#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {20059#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:29:16,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {20029#true} ~cond := #in~cond; {20829#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:29:16,522 INFO L272 TraceCheckUtils]: 6: Hoare triple {20029#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {20029#true} is VALID [2022-04-28 12:29:16,522 INFO L290 TraceCheckUtils]: 5: Hoare triple {20029#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {20029#true} is VALID [2022-04-28 12:29:16,522 INFO L272 TraceCheckUtils]: 4: Hoare triple {20029#true} call #t~ret6 := main(); {20029#true} is VALID [2022-04-28 12:29:16,522 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20029#true} {20029#true} #103#return; {20029#true} is VALID [2022-04-28 12:29:16,522 INFO L290 TraceCheckUtils]: 2: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-28 12:29:16,522 INFO L290 TraceCheckUtils]: 1: Hoare triple {20029#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); {20029#true} is VALID [2022-04-28 12:29:16,522 INFO L272 TraceCheckUtils]: 0: Hoare triple {20029#true} call ULTIMATE.init(); {20029#true} is VALID [2022-04-28 12:29:16,523 INFO L134 CoverageAnalysis]: Checked inductivity of 610 backedges. 34 proven. 51 refuted. 0 times theorem prover too weak. 525 trivial. 0 not checked. [2022-04-28 12:29:16,523 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:29:16,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [771312435] [2022-04-28 12:29:16,523 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:29:16,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [652823744] [2022-04-28 12:29:16,523 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [652823744] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:29:16,523 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:29:16,523 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-28 12:29:16,523 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:29:16,523 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1041527332] [2022-04-28 12:29:16,523 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1041527332] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:29:16,524 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:29:16,524 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 12:29:16,524 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [32261823] [2022-04-28 12:29:16,524 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:29:16,524 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 8 states have call successors, (25), 2 states have call predecessors, (25), 2 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) Word has length 135 [2022-04-28 12:29:16,524 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:29:16,524 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 8 states have call successors, (25), 2 states have call predecessors, (25), 2 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-28 12:29:16,571 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:29:16,571 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 12:29:16,571 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:29:16,571 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 12:29:16,571 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=174, Unknown=0, NotChecked=0, Total=210 [2022-04-28 12:29:16,571 INFO L87 Difference]: Start difference. First operand 193 states and 257 transitions. Second operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 8 states have call successors, (25), 2 states have call predecessors, (25), 2 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-28 12:29:17,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:29:17,867 INFO L93 Difference]: Finished difference Result 234 states and 309 transitions. [2022-04-28 12:29:17,867 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-28 12:29:17,867 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 8 states have call successors, (25), 2 states have call predecessors, (25), 2 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) Word has length 135 [2022-04-28 12:29:17,867 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:29:17,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 8 states have call successors, (25), 2 states have call predecessors, (25), 2 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-28 12:29:17,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 118 transitions. [2022-04-28 12:29:17,869 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 8 states have call successors, (25), 2 states have call predecessors, (25), 2 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-28 12:29:17,870 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 118 transitions. [2022-04-28 12:29:17,871 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 118 transitions. [2022-04-28 12:29:17,937 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 118 edges. 118 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:29:17,940 INFO L225 Difference]: With dead ends: 234 [2022-04-28 12:29:17,940 INFO L226 Difference]: Without dead ends: 165 [2022-04-28 12:29:17,940 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 276 GetRequests, 255 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=91, Invalid=371, Unknown=0, NotChecked=0, Total=462 [2022-04-28 12:29:17,941 INFO L413 NwaCegarLoop]: 65 mSDtfsCounter, 27 mSDsluCounter, 231 mSDsCounter, 0 mSdLazyCounter, 337 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 296 SdHoareTripleChecker+Invalid, 386 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 337 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 12:29:17,941 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 296 Invalid, 386 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 337 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 12:29:17,941 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states. [2022-04-28 12:29:18,364 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 132. [2022-04-28 12:29:18,364 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:29:18,364 INFO L82 GeneralOperation]: Start isEquivalent. First operand 165 states. Second operand has 132 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 72 states have internal predecessors, (76), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:29:18,364 INFO L74 IsIncluded]: Start isIncluded. First operand 165 states. Second operand has 132 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 72 states have internal predecessors, (76), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:29:18,364 INFO L87 Difference]: Start difference. First operand 165 states. Second operand has 132 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 72 states have internal predecessors, (76), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:29:18,367 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:29:18,367 INFO L93 Difference]: Finished difference Result 165 states and 209 transitions. [2022-04-28 12:29:18,367 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 209 transitions. [2022-04-28 12:29:18,368 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:29:18,368 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:29:18,368 INFO L74 IsIncluded]: Start isIncluded. First operand has 132 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 72 states have internal predecessors, (76), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 165 states. [2022-04-28 12:29:18,368 INFO L87 Difference]: Start difference. First operand has 132 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 72 states have internal predecessors, (76), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) Second operand 165 states. [2022-04-28 12:29:18,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:29:18,370 INFO L93 Difference]: Finished difference Result 165 states and 209 transitions. [2022-04-28 12:29:18,371 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 209 transitions. [2022-04-28 12:29:18,371 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:29:18,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:29:18,371 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:29:18,371 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:29:18,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 132 states, 71 states have (on average 1.0704225352112675) internal successors, (76), 72 states have internal predecessors, (76), 46 states have call successors, (46), 15 states have call predecessors, (46), 14 states have return successors, (44), 44 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-28 12:29:18,373 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 166 transitions. [2022-04-28 12:29:18,373 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 166 transitions. Word has length 135 [2022-04-28 12:29:18,373 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:29:18,373 INFO L495 AbstractCegarLoop]: Abstraction has 132 states and 166 transitions. [2022-04-28 12:29:18,374 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 8 states have call successors, (25), 2 states have call predecessors, (25), 2 states have return successors, (23), 7 states have call predecessors, (23), 7 states have call successors, (23) [2022-04-28 12:29:18,374 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 166 transitions. [2022-04-28 12:29:18,685 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 166 edges. 166 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:29:18,685 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 166 transitions. [2022-04-28 12:29:18,686 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 139 [2022-04-28 12:29:18,686 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:29:18,686 INFO L195 NwaCegarLoop]: trace histogram [17, 16, 16, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 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 12:29:18,702 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Ended with exit code 0 [2022-04-28 12:29:18,886 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 12:29:18,887 INFO L420 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:29:18,887 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:29:18,887 INFO L85 PathProgramCache]: Analyzing trace with hash -896647763, now seen corresponding path program 9 times [2022-04-28 12:29:18,887 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:29:18,887 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [776636437] [2022-04-28 12:29:18,887 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:29:18,887 INFO L85 PathProgramCache]: Analyzing trace with hash -896647763, now seen corresponding path program 10 times [2022-04-28 12:29:18,888 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:29:18,888 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1034065037] [2022-04-28 12:29:18,888 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:29:18,888 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:29:18,906 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:29:18,907 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [216065583] [2022-04-28 12:29:18,907 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 12:29:18,907 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:29:18,907 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:29:18,909 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 12:29:18,912 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 12:29:18,973 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 12:29:18,973 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:29:18,975 INFO L263 TraceCheckSpWp]: Trace formula consists of 294 conjuncts, 83 conjunts are in the unsatisfiable core [2022-04-28 12:29:19,003 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:29:19,005 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:29:46,150 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:29:52,191 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:29:52,222 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:29:53,092 INFO L272 TraceCheckUtils]: 0: Hoare triple {21929#true} call ULTIMATE.init(); {21929#true} is VALID [2022-04-28 12:29:53,092 INFO L290 TraceCheckUtils]: 1: Hoare triple {21929#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); {21929#true} is VALID [2022-04-28 12:29:53,092 INFO L290 TraceCheckUtils]: 2: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,092 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21929#true} {21929#true} #103#return; {21929#true} is VALID [2022-04-28 12:29:53,092 INFO L272 TraceCheckUtils]: 4: Hoare triple {21929#true} call #t~ret6 := main(); {21929#true} is VALID [2022-04-28 12:29:53,092 INFO L290 TraceCheckUtils]: 5: Hoare triple {21929#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {21929#true} is VALID [2022-04-28 12:29:53,092 INFO L272 TraceCheckUtils]: 6: Hoare triple {21929#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,093 INFO L290 TraceCheckUtils]: 7: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,093 INFO L290 TraceCheckUtils]: 8: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,093 INFO L290 TraceCheckUtils]: 9: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,093 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21929#true} {21929#true} #79#return; {21929#true} is VALID [2022-04-28 12:29:53,093 INFO L290 TraceCheckUtils]: 11: Hoare triple {21929#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {21929#true} is VALID [2022-04-28 12:29:53,093 INFO L272 TraceCheckUtils]: 12: Hoare triple {21929#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,093 INFO L290 TraceCheckUtils]: 13: Hoare triple {21929#true} ~cond := #in~cond; {21973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:29:53,093 INFO L290 TraceCheckUtils]: 14: Hoare triple {21973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {21977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:29:53,094 INFO L290 TraceCheckUtils]: 15: Hoare triple {21977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {21977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:29:53,094 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {21977#(not (= |assume_abort_if_not_#in~cond| 0))} {21929#true} #81#return; {21984#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:29:53,094 INFO L272 TraceCheckUtils]: 17: Hoare triple {21984#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,095 INFO L290 TraceCheckUtils]: 18: Hoare triple {21929#true} ~cond := #in~cond; {21973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:29:53,095 INFO L290 TraceCheckUtils]: 19: Hoare triple {21973#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {21977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:29:53,095 INFO L290 TraceCheckUtils]: 20: Hoare triple {21977#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {21977#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:29:53,096 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21977#(not (= |assume_abort_if_not_#in~cond| 0))} {21984#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #83#return; {22000#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:29:53,096 INFO L272 TraceCheckUtils]: 22: Hoare triple {22000#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,096 INFO L290 TraceCheckUtils]: 23: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,096 INFO L290 TraceCheckUtils]: 24: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,096 INFO L290 TraceCheckUtils]: 25: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,096 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {21929#true} {22000#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} #85#return; {22000#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:29:53,097 INFO L290 TraceCheckUtils]: 27: Hoare triple {22000#(and (<= 0 main_~y~0) (<= 1 main_~x~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:29:53,097 INFO L272 TraceCheckUtils]: 28: Hoare triple {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,097 INFO L290 TraceCheckUtils]: 29: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,097 INFO L290 TraceCheckUtils]: 30: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,097 INFO L290 TraceCheckUtils]: 31: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,098 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {21929#true} {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #87#return; {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:29:53,098 INFO L272 TraceCheckUtils]: 33: Hoare triple {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,098 INFO L290 TraceCheckUtils]: 34: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,098 INFO L290 TraceCheckUtils]: 35: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,098 INFO L290 TraceCheckUtils]: 36: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,099 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {21929#true} {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #89#return; {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:29:53,099 INFO L290 TraceCheckUtils]: 38: Hoare triple {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:29:53,099 INFO L290 TraceCheckUtils]: 39: Hoare triple {22019#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:29:53,100 INFO L290 TraceCheckUtils]: 40: Hoare triple {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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; {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:29:53,100 INFO L272 TraceCheckUtils]: 41: Hoare triple {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {21929#true} is VALID [2022-04-28 12:29:53,100 INFO L290 TraceCheckUtils]: 42: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,100 INFO L290 TraceCheckUtils]: 43: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,100 INFO L290 TraceCheckUtils]: 44: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,101 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {21929#true} {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #91#return; {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:29:53,101 INFO L272 TraceCheckUtils]: 46: Hoare triple {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {21929#true} is VALID [2022-04-28 12:29:53,101 INFO L290 TraceCheckUtils]: 47: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,101 INFO L290 TraceCheckUtils]: 48: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,101 INFO L290 TraceCheckUtils]: 49: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,102 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {21929#true} {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #93#return; {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:29:53,102 INFO L272 TraceCheckUtils]: 51: Hoare triple {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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)); {21929#true} is VALID [2022-04-28 12:29:53,102 INFO L290 TraceCheckUtils]: 52: Hoare triple {21929#true} ~cond := #in~cond; {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:29:53,102 INFO L290 TraceCheckUtils]: 53: Hoare triple {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:53,103 INFO L290 TraceCheckUtils]: 54: Hoare triple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:53,103 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #95#return; {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:29:53,103 INFO L272 TraceCheckUtils]: 56: Hoare triple {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,103 INFO L290 TraceCheckUtils]: 57: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,104 INFO L290 TraceCheckUtils]: 58: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,104 INFO L290 TraceCheckUtils]: 59: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,104 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {21929#true} {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~c~0 main_~x~0))} #97#return; {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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 12:29:53,105 INFO L290 TraceCheckUtils]: 61: Hoare triple {22056#(and (<= 0 main_~y~0) (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= 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); {22125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (< main_~c~0 main_~b~0) (= main_~c~0 main_~x~0))} is VALID [2022-04-28 12:29:53,105 INFO L290 TraceCheckUtils]: 62: Hoare triple {22125#(and (= main_~r~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~k~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (< main_~c~0 main_~b~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; {22129#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,106 INFO L290 TraceCheckUtils]: 63: Hoare triple {22129#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} assume !false; {22129#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,106 INFO L290 TraceCheckUtils]: 64: Hoare triple {22129#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,107 INFO L290 TraceCheckUtils]: 65: Hoare triple {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} assume !false; {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,107 INFO L272 TraceCheckUtils]: 66: Hoare triple {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,107 INFO L290 TraceCheckUtils]: 67: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,107 INFO L290 TraceCheckUtils]: 68: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,107 INFO L290 TraceCheckUtils]: 69: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,108 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {21929#true} {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #91#return; {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,108 INFO L272 TraceCheckUtils]: 71: Hoare triple {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,108 INFO L290 TraceCheckUtils]: 72: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,108 INFO L290 TraceCheckUtils]: 73: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,108 INFO L290 TraceCheckUtils]: 74: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,108 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {21929#true} {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #93#return; {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,108 INFO L272 TraceCheckUtils]: 76: Hoare triple {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,109 INFO L290 TraceCheckUtils]: 77: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,109 INFO L290 TraceCheckUtils]: 78: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,109 INFO L290 TraceCheckUtils]: 79: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,109 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {21929#true} {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #95#return; {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,109 INFO L272 TraceCheckUtils]: 81: Hoare triple {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,117 INFO L290 TraceCheckUtils]: 82: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,117 INFO L290 TraceCheckUtils]: 83: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,117 INFO L290 TraceCheckUtils]: 84: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,118 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {21929#true} {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #97#return; {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,120 INFO L290 TraceCheckUtils]: 86: Hoare triple {22136#(and (= main_~c~0 main_~a~0) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,121 INFO L290 TraceCheckUtils]: 87: Hoare triple {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} assume !false; {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,121 INFO L272 TraceCheckUtils]: 88: Hoare triple {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,121 INFO L290 TraceCheckUtils]: 89: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,121 INFO L290 TraceCheckUtils]: 90: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,121 INFO L290 TraceCheckUtils]: 91: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,122 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {21929#true} {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #91#return; {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,122 INFO L272 TraceCheckUtils]: 93: Hoare triple {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,122 INFO L290 TraceCheckUtils]: 94: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,122 INFO L290 TraceCheckUtils]: 95: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,122 INFO L290 TraceCheckUtils]: 96: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,122 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {21929#true} {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #93#return; {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,122 INFO L272 TraceCheckUtils]: 98: Hoare triple {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,123 INFO L290 TraceCheckUtils]: 99: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,123 INFO L290 TraceCheckUtils]: 100: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,123 INFO L290 TraceCheckUtils]: 101: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,123 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {21929#true} {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #95#return; {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,123 INFO L272 TraceCheckUtils]: 103: Hoare triple {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,124 INFO L290 TraceCheckUtils]: 104: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,124 INFO L290 TraceCheckUtils]: 105: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,124 INFO L290 TraceCheckUtils]: 106: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,124 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {21929#true} {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} #97#return; {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,126 INFO L290 TraceCheckUtils]: 108: Hoare triple {22203#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~a~0 (+ main_~c~0 main_~b~0)) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (< main_~x~0 main_~a~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {22270#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,126 INFO L290 TraceCheckUtils]: 109: Hoare triple {22270#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} assume !false; {22270#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,126 INFO L272 TraceCheckUtils]: 110: Hoare triple {22270#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,126 INFO L290 TraceCheckUtils]: 111: Hoare triple {21929#true} ~cond := #in~cond; {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:29:53,127 INFO L290 TraceCheckUtils]: 112: Hoare triple {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:53,127 INFO L290 TraceCheckUtils]: 113: Hoare triple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:53,128 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {22270#(and (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} #91#return; {22289#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} is VALID [2022-04-28 12:29:53,128 INFO L272 TraceCheckUtils]: 115: Hoare triple {22289#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,128 INFO L290 TraceCheckUtils]: 116: Hoare triple {21929#true} ~cond := #in~cond; {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:29:53,129 INFO L290 TraceCheckUtils]: 117: Hoare triple {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:53,129 INFO L290 TraceCheckUtils]: 118: Hoare triple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:53,130 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {22289#(and (= main_~a~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~b~0 main_~x~0) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~c~0) (< main_~x~0 main_~a~0))} #93#return; {22305#(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))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-28 12:29:53,130 INFO L272 TraceCheckUtils]: 120: Hoare triple {22305#(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))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,131 INFO L290 TraceCheckUtils]: 121: Hoare triple {21929#true} ~cond := #in~cond; {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:29:53,131 INFO L290 TraceCheckUtils]: 122: Hoare triple {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:53,131 INFO L290 TraceCheckUtils]: 123: Hoare triple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:29:53,132 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {22305#(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))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} #95#return; {22321#(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))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-28 12:29:53,132 INFO L272 TraceCheckUtils]: 125: Hoare triple {22321#(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))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:29:53,132 INFO L290 TraceCheckUtils]: 126: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:29:53,132 INFO L290 TraceCheckUtils]: 127: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:29:53,132 INFO L290 TraceCheckUtils]: 128: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:29:53,133 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {21929#true} {22321#(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))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} #97#return; {22321#(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))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} is VALID [2022-04-28 12:29:53,135 INFO L290 TraceCheckUtils]: 130: Hoare triple {22321#(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))) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 0) (< main_~x~0 (+ main_~c~0 (* main_~b~0 main_~k~0))) (= main_~r~0 1) (= main_~b~0 main_~x~0) (= (* main_~b~0 main_~k~0) (* main_~b~0 2)))} assume !(~c~0 >= ~b~0); {22340#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* 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))) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 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))) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (= main_~r~0 1))} is VALID [2022-04-28 12:29:53,141 INFO L290 TraceCheckUtils]: 131: Hoare triple {22340#(and (= main_~x~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* 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))) (= main_~s~0 0) (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~p~0 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))) (= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~k~0 main_~y~0 main_~s~0) (* main_~q~0 main_~k~0 main_~x~0))) (= main_~r~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; {22344#(and (<= 1 main_~x~0) (exists ((main_~k~0 Int)) (and (< main_~x~0 (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)))) (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) main_~y~0) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))) (<= main_~y~0 2) (= main_~s~0 1))} is VALID [2022-04-28 12:29:53,142 INFO L290 TraceCheckUtils]: 132: Hoare triple {22344#(and (<= 1 main_~x~0) (exists ((main_~k~0 Int)) (and (< main_~x~0 (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)))) (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) main_~y~0) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))) (<= main_~y~0 2) (= main_~s~0 1))} assume !false; {22344#(and (<= 1 main_~x~0) (exists ((main_~k~0 Int)) (and (< main_~x~0 (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)))) (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) main_~y~0) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))) (<= main_~y~0 2) (= main_~s~0 1))} is VALID [2022-04-28 12:29:53,143 INFO L290 TraceCheckUtils]: 133: Hoare triple {22344#(and (<= 1 main_~x~0) (exists ((main_~k~0 Int)) (and (< main_~x~0 (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)))) (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ main_~b~0 (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) main_~y~0) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))) (<= main_~y~0 2) (= main_~s~0 1))} assume !(0 != ~b~0); {22351#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (exists ((main_~k~0 Int)) (and (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) main_~y~0) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))))} is VALID [2022-04-28 12:29:53,146 INFO L272 TraceCheckUtils]: 134: Hoare triple {22351#(and (<= 1 main_~x~0) (<= main_~y~0 2) (= main_~s~0 1) (exists ((main_~k~0 Int)) (and (= (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))) (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0))) (= (mod (* (- 1) main_~q~0) main_~k~0) 0) (= (+ (* main_~k~0 main_~x~0 (div (* (- 1) main_~q~0) main_~k~0)) (* main_~k~0 main_~y~0 0)) main_~y~0) (= main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) main_~k~0))))))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {22355#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:29:53,146 INFO L290 TraceCheckUtils]: 135: Hoare triple {22355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:29:53,147 INFO L290 TraceCheckUtils]: 136: Hoare triple {22359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21930#false} is VALID [2022-04-28 12:29:53,147 INFO L290 TraceCheckUtils]: 137: Hoare triple {21930#false} assume !false; {21930#false} is VALID [2022-04-28 12:29:53,147 INFO L134 CoverageAnalysis]: Checked inductivity of 615 backedges. 139 proven. 104 refuted. 0 times theorem prover too weak. 372 trivial. 0 not checked. [2022-04-28 12:29:53,147 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:31:47,826 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:32:13,024 INFO L290 TraceCheckUtils]: 137: Hoare triple {21930#false} assume !false; {21930#false} is VALID [2022-04-28 12:32:13,025 INFO L290 TraceCheckUtils]: 136: Hoare triple {22359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21930#false} is VALID [2022-04-28 12:32:13,025 INFO L290 TraceCheckUtils]: 135: Hoare triple {22355#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:32:13,026 INFO L272 TraceCheckUtils]: 134: Hoare triple {22375#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {22355#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:32:13,026 INFO L290 TraceCheckUtils]: 133: Hoare triple {22379#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {22375#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-28 12:32:13,027 INFO L290 TraceCheckUtils]: 132: Hoare triple {22379#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {22379#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-28 12:32:15,028 WARN L290 TraceCheckUtils]: 131: Hoare triple {22386#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* 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)) 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; {22379#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is UNKNOWN [2022-04-28 12:32:15,029 INFO L290 TraceCheckUtils]: 130: Hoare triple {22390#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} assume !(~c~0 >= ~b~0); {22386#(or (not (= main_~c~0 0)) (= (+ (* (+ (* (* 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)) 0))} is VALID [2022-04-28 12:32:15,029 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {21929#true} {22390#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} #97#return; {22390#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} is VALID [2022-04-28 12:32:15,029 INFO L290 TraceCheckUtils]: 128: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,030 INFO L290 TraceCheckUtils]: 127: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,030 INFO L290 TraceCheckUtils]: 126: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,030 INFO L272 TraceCheckUtils]: 125: Hoare triple {22390#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,031 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {22409#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} #95#return; {22390#(or (not (= main_~c~0 0)) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} is VALID [2022-04-28 12:32:15,031 INFO L290 TraceCheckUtils]: 123: Hoare triple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:32:15,031 INFO L290 TraceCheckUtils]: 122: Hoare triple {22419#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:32:15,032 INFO L290 TraceCheckUtils]: 121: Hoare triple {21929#true} ~cond := #in~cond; {22419#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:32:15,032 INFO L272 TraceCheckUtils]: 120: Hoare triple {22409#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,033 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {22426#(or (not (= main_~c~0 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)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} #93#return; {22409#(or (not (= main_~c~0 0)) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} is VALID [2022-04-28 12:32:15,033 INFO L290 TraceCheckUtils]: 118: Hoare triple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:32:15,033 INFO L290 TraceCheckUtils]: 117: Hoare triple {22419#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:32:15,033 INFO L290 TraceCheckUtils]: 116: Hoare triple {21929#true} ~cond := #in~cond; {22419#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:32:15,034 INFO L272 TraceCheckUtils]: 115: Hoare triple {22426#(or (not (= main_~c~0 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)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,062 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {21929#true} #91#return; {22426#(or (not (= main_~c~0 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)))) (<= main_~b~0 main_~c~0) (= (+ (* (+ (* (* 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)) 0))} is VALID [2022-04-28 12:32:15,062 INFO L290 TraceCheckUtils]: 113: Hoare triple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:32:15,063 INFO L290 TraceCheckUtils]: 112: Hoare triple {22419#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:32:15,063 INFO L290 TraceCheckUtils]: 111: Hoare triple {21929#true} ~cond := #in~cond; {22419#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:32:15,063 INFO L272 TraceCheckUtils]: 110: Hoare triple {21929#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,063 INFO L290 TraceCheckUtils]: 109: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-28 12:32:15,063 INFO L290 TraceCheckUtils]: 108: Hoare triple {21929#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {21929#true} is VALID [2022-04-28 12:32:15,063 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {21929#true} {21929#true} #97#return; {21929#true} is VALID [2022-04-28 12:32:15,063 INFO L290 TraceCheckUtils]: 106: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,063 INFO L290 TraceCheckUtils]: 105: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,063 INFO L290 TraceCheckUtils]: 104: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,064 INFO L272 TraceCheckUtils]: 103: Hoare triple {21929#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,064 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {21929#true} {21929#true} #95#return; {21929#true} is VALID [2022-04-28 12:32:15,064 INFO L290 TraceCheckUtils]: 101: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,064 INFO L290 TraceCheckUtils]: 100: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,064 INFO L290 TraceCheckUtils]: 99: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,064 INFO L272 TraceCheckUtils]: 98: Hoare triple {21929#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,064 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {21929#true} {21929#true} #93#return; {21929#true} is VALID [2022-04-28 12:32:15,064 INFO L290 TraceCheckUtils]: 96: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,064 INFO L290 TraceCheckUtils]: 95: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,064 INFO L290 TraceCheckUtils]: 94: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,064 INFO L272 TraceCheckUtils]: 93: Hoare triple {21929#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,064 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {21929#true} {21929#true} #91#return; {21929#true} is VALID [2022-04-28 12:32:15,064 INFO L290 TraceCheckUtils]: 91: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,064 INFO L290 TraceCheckUtils]: 90: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L290 TraceCheckUtils]: 89: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L272 TraceCheckUtils]: 88: Hoare triple {21929#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L290 TraceCheckUtils]: 87: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L290 TraceCheckUtils]: 86: Hoare triple {21929#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {21929#true} {21929#true} #97#return; {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L290 TraceCheckUtils]: 84: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L290 TraceCheckUtils]: 83: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L290 TraceCheckUtils]: 82: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L272 TraceCheckUtils]: 81: Hoare triple {21929#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {21929#true} {21929#true} #95#return; {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L290 TraceCheckUtils]: 79: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L290 TraceCheckUtils]: 78: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L290 TraceCheckUtils]: 77: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L272 TraceCheckUtils]: 76: Hoare triple {21929#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {21929#true} {21929#true} #93#return; {21929#true} is VALID [2022-04-28 12:32:15,065 INFO L290 TraceCheckUtils]: 74: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,066 INFO L290 TraceCheckUtils]: 73: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,066 INFO L290 TraceCheckUtils]: 72: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,066 INFO L272 TraceCheckUtils]: 71: Hoare triple {21929#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,066 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {21929#true} {21929#true} #91#return; {21929#true} is VALID [2022-04-28 12:32:15,066 INFO L290 TraceCheckUtils]: 69: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,066 INFO L290 TraceCheckUtils]: 68: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,066 INFO L290 TraceCheckUtils]: 67: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,066 INFO L272 TraceCheckUtils]: 66: Hoare triple {21929#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,066 INFO L290 TraceCheckUtils]: 65: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-28 12:32:15,066 INFO L290 TraceCheckUtils]: 64: Hoare triple {21929#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {21929#true} is VALID [2022-04-28 12:32:15,066 INFO L290 TraceCheckUtils]: 63: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-28 12:32:15,066 INFO L290 TraceCheckUtils]: 62: Hoare triple {21929#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; {21929#true} is VALID [2022-04-28 12:32:15,066 INFO L290 TraceCheckUtils]: 61: Hoare triple {21929#true} assume !(~c~0 >= ~b~0); {21929#true} is VALID [2022-04-28 12:32:15,066 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {21929#true} {21929#true} #97#return; {21929#true} is VALID [2022-04-28 12:32:15,066 INFO L290 TraceCheckUtils]: 59: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,067 INFO L290 TraceCheckUtils]: 58: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,067 INFO L290 TraceCheckUtils]: 57: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,067 INFO L272 TraceCheckUtils]: 56: Hoare triple {21929#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,067 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {21929#true} {21929#true} #95#return; {21929#true} is VALID [2022-04-28 12:32:15,067 INFO L290 TraceCheckUtils]: 54: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,067 INFO L290 TraceCheckUtils]: 53: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,067 INFO L290 TraceCheckUtils]: 52: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,067 INFO L272 TraceCheckUtils]: 51: Hoare triple {21929#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,067 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {21929#true} {21929#true} #93#return; {21929#true} is VALID [2022-04-28 12:32:15,067 INFO L290 TraceCheckUtils]: 49: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,067 INFO L290 TraceCheckUtils]: 48: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,067 INFO L290 TraceCheckUtils]: 47: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,067 INFO L272 TraceCheckUtils]: 46: Hoare triple {21929#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,067 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {21929#true} {21929#true} #91#return; {21929#true} is VALID [2022-04-28 12:32:15,067 INFO L290 TraceCheckUtils]: 44: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,068 INFO L290 TraceCheckUtils]: 43: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,068 INFO L290 TraceCheckUtils]: 42: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,068 INFO L272 TraceCheckUtils]: 41: Hoare triple {21929#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,068 INFO L290 TraceCheckUtils]: 40: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-28 12:32:15,068 INFO L290 TraceCheckUtils]: 39: Hoare triple {21929#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {21929#true} is VALID [2022-04-28 12:32:15,068 INFO L290 TraceCheckUtils]: 38: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-28 12:32:15,068 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {21929#true} {21929#true} #89#return; {21929#true} is VALID [2022-04-28 12:32:15,068 INFO L290 TraceCheckUtils]: 36: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,068 INFO L290 TraceCheckUtils]: 35: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,068 INFO L290 TraceCheckUtils]: 34: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,068 INFO L272 TraceCheckUtils]: 33: Hoare triple {21929#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,068 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {21929#true} {21929#true} #87#return; {21929#true} is VALID [2022-04-28 12:32:15,068 INFO L290 TraceCheckUtils]: 31: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,068 INFO L290 TraceCheckUtils]: 30: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,068 INFO L290 TraceCheckUtils]: 29: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,069 INFO L272 TraceCheckUtils]: 28: Hoare triple {21929#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,069 INFO L290 TraceCheckUtils]: 27: Hoare triple {21929#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {21929#true} is VALID [2022-04-28 12:32:15,069 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {21929#true} {21929#true} #85#return; {21929#true} is VALID [2022-04-28 12:32:15,069 INFO L290 TraceCheckUtils]: 25: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,069 INFO L290 TraceCheckUtils]: 24: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,069 INFO L290 TraceCheckUtils]: 23: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,069 INFO L272 TraceCheckUtils]: 22: Hoare triple {21929#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,069 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21929#true} {21929#true} #83#return; {21929#true} is VALID [2022-04-28 12:32:15,069 INFO L290 TraceCheckUtils]: 20: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,069 INFO L290 TraceCheckUtils]: 19: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,069 INFO L290 TraceCheckUtils]: 18: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,069 INFO L272 TraceCheckUtils]: 17: Hoare triple {21929#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,069 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {21929#true} {21929#true} #81#return; {21929#true} is VALID [2022-04-28 12:32:15,069 INFO L290 TraceCheckUtils]: 15: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,069 INFO L290 TraceCheckUtils]: 14: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,070 INFO L290 TraceCheckUtils]: 13: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,070 INFO L272 TraceCheckUtils]: 12: Hoare triple {21929#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,070 INFO L290 TraceCheckUtils]: 11: Hoare triple {21929#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {21929#true} is VALID [2022-04-28 12:32:15,070 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21929#true} {21929#true} #79#return; {21929#true} is VALID [2022-04-28 12:32:15,070 INFO L290 TraceCheckUtils]: 9: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,070 INFO L290 TraceCheckUtils]: 8: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-28 12:32:15,070 INFO L290 TraceCheckUtils]: 7: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-28 12:32:15,070 INFO L272 TraceCheckUtils]: 6: Hoare triple {21929#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {21929#true} is VALID [2022-04-28 12:32:15,070 INFO L290 TraceCheckUtils]: 5: Hoare triple {21929#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {21929#true} is VALID [2022-04-28 12:32:15,070 INFO L272 TraceCheckUtils]: 4: Hoare triple {21929#true} call #t~ret6 := main(); {21929#true} is VALID [2022-04-28 12:32:15,070 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21929#true} {21929#true} #103#return; {21929#true} is VALID [2022-04-28 12:32:15,070 INFO L290 TraceCheckUtils]: 2: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-28 12:32:15,070 INFO L290 TraceCheckUtils]: 1: Hoare triple {21929#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); {21929#true} is VALID [2022-04-28 12:32:15,070 INFO L272 TraceCheckUtils]: 0: Hoare triple {21929#true} call ULTIMATE.init(); {21929#true} is VALID [2022-04-28 12:32:15,071 INFO L134 CoverageAnalysis]: Checked inductivity of 615 backedges. 154 proven. 12 refuted. 0 times theorem prover too weak. 449 trivial. 0 not checked. [2022-04-28 12:32:15,071 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:32:15,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1034065037] [2022-04-28 12:32:15,071 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:32:15,071 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [216065583] [2022-04-28 12:32:15,071 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [216065583] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:32:15,071 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:32:15,072 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 12] total 30 [2022-04-28 12:32:15,072 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:32:15,072 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [776636437] [2022-04-28 12:32:15,072 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [776636437] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:32:15,072 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:32:15,072 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-28 12:32:15,072 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [61426862] [2022-04-28 12:32:15,072 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:32:15,073 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 19 states have (on average 1.894736842105263) internal successors, (36), 17 states have internal predecessors, (36), 12 states have call successors, (25), 2 states have call predecessors, (25), 3 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) Word has length 138 [2022-04-28 12:32:15,073 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:32:15,074 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 23 states, 19 states have (on average 1.894736842105263) internal successors, (36), 17 states have internal predecessors, (36), 12 states have call successors, (25), 2 states have call predecessors, (25), 3 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) [2022-04-28 12:32:15,165 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:32:15,165 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-28 12:32:15,165 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:32:15,166 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-28 12:32:15,166 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=154, Invalid=716, Unknown=0, NotChecked=0, Total=870 [2022-04-28 12:32:15,166 INFO L87 Difference]: Start difference. First operand 132 states and 166 transitions. Second operand has 23 states, 19 states have (on average 1.894736842105263) internal successors, (36), 17 states have internal predecessors, (36), 12 states have call successors, (25), 2 states have call predecessors, (25), 3 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) [2022-04-28 12:32:19,575 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:32:19,575 INFO L93 Difference]: Finished difference Result 216 states and 279 transitions. [2022-04-28 12:32:19,575 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-28 12:32:19,575 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 19 states have (on average 1.894736842105263) internal successors, (36), 17 states have internal predecessors, (36), 12 states have call successors, (25), 2 states have call predecessors, (25), 3 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) Word has length 138 [2022-04-28 12:32:19,576 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:32:19,576 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 19 states have (on average 1.894736842105263) internal successors, (36), 17 states have internal predecessors, (36), 12 states have call successors, (25), 2 states have call predecessors, (25), 3 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) [2022-04-28 12:32:19,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 138 transitions. [2022-04-28 12:32:19,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 19 states have (on average 1.894736842105263) internal successors, (36), 17 states have internal predecessors, (36), 12 states have call successors, (25), 2 states have call predecessors, (25), 3 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) [2022-04-28 12:32:19,580 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 138 transitions. [2022-04-28 12:32:19,580 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 138 transitions. [2022-04-28 12:32:19,750 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 138 edges. 138 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:32:19,753 INFO L225 Difference]: With dead ends: 216 [2022-04-28 12:32:19,753 INFO L226 Difference]: Without dead ends: 165 [2022-04-28 12:32:19,753 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 281 GetRequests, 246 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 307 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=210, Invalid=1050, Unknown=0, NotChecked=0, Total=1260 [2022-04-28 12:32:19,754 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 42 mSDsluCounter, 257 mSDsCounter, 0 mSdLazyCounter, 792 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 299 SdHoareTripleChecker+Invalid, 922 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 792 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 83 IncrementalHoareTripleChecker+Unchecked, 2.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:32:19,754 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [54 Valid, 299 Invalid, 922 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 792 Invalid, 0 Unknown, 83 Unchecked, 2.1s Time] [2022-04-28 12:32:19,754 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states. [2022-04-28 12:32:20,437 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 165. [2022-04-28 12:32:20,437 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:32:20,437 INFO L82 GeneralOperation]: Start isEquivalent. First operand 165 states. Second operand has 165 states, 89 states have (on average 1.0674157303370786) internal successors, (95), 91 states have internal predecessors, (95), 59 states have call successors, (59), 17 states have call predecessors, (59), 16 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) [2022-04-28 12:32:20,438 INFO L74 IsIncluded]: Start isIncluded. First operand 165 states. Second operand has 165 states, 89 states have (on average 1.0674157303370786) internal successors, (95), 91 states have internal predecessors, (95), 59 states have call successors, (59), 17 states have call predecessors, (59), 16 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) [2022-04-28 12:32:20,438 INFO L87 Difference]: Start difference. First operand 165 states. Second operand has 165 states, 89 states have (on average 1.0674157303370786) internal successors, (95), 91 states have internal predecessors, (95), 59 states have call successors, (59), 17 states have call predecessors, (59), 16 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) [2022-04-28 12:32:20,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:32:20,441 INFO L93 Difference]: Finished difference Result 165 states and 211 transitions. [2022-04-28 12:32:20,441 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 211 transitions. [2022-04-28 12:32:20,441 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:32:20,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:32:20,441 INFO L74 IsIncluded]: Start isIncluded. First operand has 165 states, 89 states have (on average 1.0674157303370786) internal successors, (95), 91 states have internal predecessors, (95), 59 states have call successors, (59), 17 states have call predecessors, (59), 16 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) Second operand 165 states. [2022-04-28 12:32:20,442 INFO L87 Difference]: Start difference. First operand has 165 states, 89 states have (on average 1.0674157303370786) internal successors, (95), 91 states have internal predecessors, (95), 59 states have call successors, (59), 17 states have call predecessors, (59), 16 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) Second operand 165 states. [2022-04-28 12:32:20,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:32:20,444 INFO L93 Difference]: Finished difference Result 165 states and 211 transitions. [2022-04-28 12:32:20,444 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 211 transitions. [2022-04-28 12:32:20,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:32:20,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:32:20,445 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:32:20,445 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:32:20,445 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 165 states, 89 states have (on average 1.0674157303370786) internal successors, (95), 91 states have internal predecessors, (95), 59 states have call successors, (59), 17 states have call predecessors, (59), 16 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) [2022-04-28 12:32:20,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 165 states to 165 states and 211 transitions. [2022-04-28 12:32:20,448 INFO L78 Accepts]: Start accepts. Automaton has 165 states and 211 transitions. Word has length 138 [2022-04-28 12:32:20,448 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:32:20,448 INFO L495 AbstractCegarLoop]: Abstraction has 165 states and 211 transitions. [2022-04-28 12:32:20,448 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 19 states have (on average 1.894736842105263) internal successors, (36), 17 states have internal predecessors, (36), 12 states have call successors, (25), 2 states have call predecessors, (25), 3 states have return successors, (23), 10 states have call predecessors, (23), 11 states have call successors, (23) [2022-04-28 12:32:20,448 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 165 states and 211 transitions. [2022-04-28 12:32:20,924 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 211 edges. 211 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:32:20,924 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 211 transitions. [2022-04-28 12:32:20,925 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 144 [2022-04-28 12:32:20,925 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:32:20,925 INFO L195 NwaCegarLoop]: trace histogram [18, 17, 17, 6, 6, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 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, 1, 1] [2022-04-28 12:32:20,941 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Ended with exit code 0 [2022-04-28 12:32:21,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 12:32:21,126 INFO L420 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:32:21,126 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:32:21,126 INFO L85 PathProgramCache]: Analyzing trace with hash -206620137, now seen corresponding path program 1 times [2022-04-28 12:32:21,126 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:32:21,126 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [422285395] [2022-04-28 12:32:21,127 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:32:21,127 INFO L85 PathProgramCache]: Analyzing trace with hash -206620137, now seen corresponding path program 2 times [2022-04-28 12:32:21,127 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:32:21,127 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1644549644] [2022-04-28 12:32:21,127 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:32:21,127 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:32:21,137 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:32:21,137 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1803425909] [2022-04-28 12:32:21,137 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:32:21,137 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:32:21,137 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:32:21,138 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 12:32:21,139 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 12:32:21,203 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:32:21,203 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:32:21,204 INFO L263 TraceCheckSpWp]: Trace formula consists of 342 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-28 12:32:21,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:32:21,222 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:32:21,541 INFO L272 TraceCheckUtils]: 0: Hoare triple {23890#true} call ULTIMATE.init(); {23890#true} is VALID [2022-04-28 12:32:21,541 INFO L290 TraceCheckUtils]: 1: Hoare triple {23890#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); {23890#true} is VALID [2022-04-28 12:32:21,541 INFO L290 TraceCheckUtils]: 2: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,541 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23890#true} {23890#true} #103#return; {23890#true} is VALID [2022-04-28 12:32:21,541 INFO L272 TraceCheckUtils]: 4: Hoare triple {23890#true} call #t~ret6 := main(); {23890#true} is VALID [2022-04-28 12:32:21,541 INFO L290 TraceCheckUtils]: 5: Hoare triple {23890#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {23890#true} is VALID [2022-04-28 12:32:21,541 INFO L272 TraceCheckUtils]: 6: Hoare triple {23890#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,541 INFO L290 TraceCheckUtils]: 7: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,541 INFO L290 TraceCheckUtils]: 8: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,542 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23890#true} {23890#true} #79#return; {23890#true} is VALID [2022-04-28 12:32:21,542 INFO L290 TraceCheckUtils]: 11: Hoare triple {23890#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23890#true} is VALID [2022-04-28 12:32:21,542 INFO L272 TraceCheckUtils]: 12: Hoare triple {23890#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,542 INFO L290 TraceCheckUtils]: 13: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,542 INFO L290 TraceCheckUtils]: 14: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,542 INFO L290 TraceCheckUtils]: 15: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,542 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23890#true} {23890#true} #81#return; {23890#true} is VALID [2022-04-28 12:32:21,542 INFO L272 TraceCheckUtils]: 17: Hoare triple {23890#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,542 INFO L290 TraceCheckUtils]: 18: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,542 INFO L290 TraceCheckUtils]: 19: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,542 INFO L290 TraceCheckUtils]: 20: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,542 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {23890#true} {23890#true} #83#return; {23890#true} is VALID [2022-04-28 12:32:21,542 INFO L272 TraceCheckUtils]: 22: Hoare triple {23890#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,542 INFO L290 TraceCheckUtils]: 23: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,543 INFO L290 TraceCheckUtils]: 24: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,543 INFO L290 TraceCheckUtils]: 25: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,543 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {23890#true} {23890#true} #85#return; {23890#true} is VALID [2022-04-28 12:32:21,543 INFO L290 TraceCheckUtils]: 27: Hoare triple {23890#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {23890#true} is VALID [2022-04-28 12:32:21,543 INFO L272 TraceCheckUtils]: 28: Hoare triple {23890#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,543 INFO L290 TraceCheckUtils]: 29: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,543 INFO L290 TraceCheckUtils]: 30: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,543 INFO L290 TraceCheckUtils]: 31: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,543 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {23890#true} {23890#true} #87#return; {23890#true} is VALID [2022-04-28 12:32:21,543 INFO L272 TraceCheckUtils]: 33: Hoare triple {23890#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,553 INFO L290 TraceCheckUtils]: 34: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,553 INFO L290 TraceCheckUtils]: 35: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,553 INFO L290 TraceCheckUtils]: 36: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,553 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {23890#true} {23890#true} #89#return; {23890#true} is VALID [2022-04-28 12:32:21,553 INFO L290 TraceCheckUtils]: 38: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 12:32:21,554 INFO L290 TraceCheckUtils]: 39: Hoare triple {23890#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23890#true} is VALID [2022-04-28 12:32:21,554 INFO L290 TraceCheckUtils]: 40: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 12:32:21,554 INFO L272 TraceCheckUtils]: 41: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,554 INFO L290 TraceCheckUtils]: 42: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,554 INFO L290 TraceCheckUtils]: 43: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,554 INFO L290 TraceCheckUtils]: 44: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,554 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 12:32:21,554 INFO L272 TraceCheckUtils]: 46: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,554 INFO L290 TraceCheckUtils]: 47: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,554 INFO L290 TraceCheckUtils]: 48: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,554 INFO L290 TraceCheckUtils]: 49: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,554 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 12:32:21,554 INFO L272 TraceCheckUtils]: 51: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,554 INFO L290 TraceCheckUtils]: 52: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,555 INFO L290 TraceCheckUtils]: 53: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,555 INFO L290 TraceCheckUtils]: 54: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,555 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {23890#true} {23890#true} #95#return; {23890#true} is VALID [2022-04-28 12:32:21,555 INFO L272 TraceCheckUtils]: 56: Hoare triple {23890#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,555 INFO L290 TraceCheckUtils]: 57: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,555 INFO L290 TraceCheckUtils]: 58: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,555 INFO L290 TraceCheckUtils]: 59: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,555 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {23890#true} {23890#true} #97#return; {23890#true} is VALID [2022-04-28 12:32:21,555 INFO L290 TraceCheckUtils]: 61: Hoare triple {23890#true} assume !(~c~0 >= ~b~0); {23890#true} is VALID [2022-04-28 12:32:21,555 INFO L290 TraceCheckUtils]: 62: Hoare triple {23890#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; {23890#true} is VALID [2022-04-28 12:32:21,555 INFO L290 TraceCheckUtils]: 63: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 12:32:21,555 INFO L290 TraceCheckUtils]: 64: Hoare triple {23890#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23890#true} is VALID [2022-04-28 12:32:21,555 INFO L290 TraceCheckUtils]: 65: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 12:32:21,555 INFO L272 TraceCheckUtils]: 66: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,555 INFO L290 TraceCheckUtils]: 67: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,556 INFO L290 TraceCheckUtils]: 68: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,556 INFO L290 TraceCheckUtils]: 69: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,556 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 12:32:21,556 INFO L272 TraceCheckUtils]: 71: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,556 INFO L290 TraceCheckUtils]: 72: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,556 INFO L290 TraceCheckUtils]: 73: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,556 INFO L290 TraceCheckUtils]: 74: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,556 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 12:32:21,556 INFO L272 TraceCheckUtils]: 76: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,556 INFO L290 TraceCheckUtils]: 77: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,556 INFO L290 TraceCheckUtils]: 78: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,556 INFO L290 TraceCheckUtils]: 79: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,556 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23890#true} {23890#true} #95#return; {23890#true} is VALID [2022-04-28 12:32:21,556 INFO L272 TraceCheckUtils]: 81: Hoare triple {23890#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,556 INFO L290 TraceCheckUtils]: 82: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,557 INFO L290 TraceCheckUtils]: 83: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,557 INFO L290 TraceCheckUtils]: 84: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,557 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {23890#true} {23890#true} #97#return; {23890#true} is VALID [2022-04-28 12:32:21,557 INFO L290 TraceCheckUtils]: 86: Hoare triple {23890#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {23890#true} is VALID [2022-04-28 12:32:21,557 INFO L290 TraceCheckUtils]: 87: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 12:32:21,557 INFO L272 TraceCheckUtils]: 88: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,557 INFO L290 TraceCheckUtils]: 89: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,557 INFO L290 TraceCheckUtils]: 90: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,557 INFO L290 TraceCheckUtils]: 91: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,557 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 12:32:21,557 INFO L272 TraceCheckUtils]: 93: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,557 INFO L290 TraceCheckUtils]: 94: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,557 INFO L290 TraceCheckUtils]: 95: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,557 INFO L290 TraceCheckUtils]: 96: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,557 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 12:32:21,558 INFO L272 TraceCheckUtils]: 98: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,558 INFO L290 TraceCheckUtils]: 99: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,558 INFO L290 TraceCheckUtils]: 100: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,558 INFO L290 TraceCheckUtils]: 101: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,558 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {23890#true} {23890#true} #95#return; {23890#true} is VALID [2022-04-28 12:32:21,558 INFO L272 TraceCheckUtils]: 103: Hoare triple {23890#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,558 INFO L290 TraceCheckUtils]: 104: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,559 INFO L290 TraceCheckUtils]: 105: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,559 INFO L290 TraceCheckUtils]: 106: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,559 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {23890#true} {23890#true} #97#return; {23890#true} is VALID [2022-04-28 12:32:21,559 INFO L290 TraceCheckUtils]: 108: Hoare triple {23890#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {23890#true} is VALID [2022-04-28 12:32:21,559 INFO L290 TraceCheckUtils]: 109: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 12:32:21,559 INFO L272 TraceCheckUtils]: 110: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,559 INFO L290 TraceCheckUtils]: 111: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,559 INFO L290 TraceCheckUtils]: 112: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,559 INFO L290 TraceCheckUtils]: 113: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,559 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 12:32:21,559 INFO L272 TraceCheckUtils]: 115: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,559 INFO L290 TraceCheckUtils]: 116: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,559 INFO L290 TraceCheckUtils]: 117: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,559 INFO L290 TraceCheckUtils]: 118: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,559 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 12:32:21,560 INFO L272 TraceCheckUtils]: 120: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,560 INFO L290 TraceCheckUtils]: 121: Hoare triple {23890#true} ~cond := #in~cond; {24258#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:32:21,560 INFO L290 TraceCheckUtils]: 122: Hoare triple {24258#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:32:21,561 INFO L290 TraceCheckUtils]: 123: Hoare triple {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:32:21,561 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} {23890#true} #95#return; {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:32:21,561 INFO L272 TraceCheckUtils]: 125: Hoare triple {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,561 INFO L290 TraceCheckUtils]: 126: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,561 INFO L290 TraceCheckUtils]: 127: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,562 INFO L290 TraceCheckUtils]: 128: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,562 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {23890#true} {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #97#return; {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:32:21,562 INFO L290 TraceCheckUtils]: 130: Hoare triple {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:32:21,563 INFO L290 TraceCheckUtils]: 131: Hoare triple {24269#(= 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; {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:32:21,563 INFO L290 TraceCheckUtils]: 132: Hoare triple {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:32:21,563 INFO L290 TraceCheckUtils]: 133: Hoare triple {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:32:21,563 INFO L272 TraceCheckUtils]: 134: Hoare triple {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:21,563 INFO L290 TraceCheckUtils]: 135: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:21,564 INFO L290 TraceCheckUtils]: 136: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:21,564 INFO L290 TraceCheckUtils]: 137: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:21,564 INFO L284 TraceCheckUtils]: 138: Hoare quadruple {23890#true} {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #99#return; {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:32:21,565 INFO L272 TraceCheckUtils]: 139: Hoare triple {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {24316#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:32:21,565 INFO L290 TraceCheckUtils]: 140: Hoare triple {24316#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24320#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:32:21,565 INFO L290 TraceCheckUtils]: 141: Hoare triple {24320#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23891#false} is VALID [2022-04-28 12:32:21,565 INFO L290 TraceCheckUtils]: 142: Hoare triple {23891#false} assume !false; {23891#false} is VALID [2022-04-28 12:32:21,566 INFO L134 CoverageAnalysis]: Checked inductivity of 681 backedges. 86 proven. 7 refuted. 0 times theorem prover too weak. 588 trivial. 0 not checked. [2022-04-28 12:32:21,566 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:32:34,139 INFO L290 TraceCheckUtils]: 142: Hoare triple {23891#false} assume !false; {23891#false} is VALID [2022-04-28 12:32:34,140 INFO L290 TraceCheckUtils]: 141: Hoare triple {24320#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23891#false} is VALID [2022-04-28 12:32:34,140 INFO L290 TraceCheckUtils]: 140: Hoare triple {24316#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24320#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:32:34,141 INFO L272 TraceCheckUtils]: 139: Hoare triple {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~p~0 * ~x~0 + ~r~0 * ~y~0 == ~a~0 then 1 else 0)); {24316#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:32:34,141 INFO L284 TraceCheckUtils]: 138: Hoare quadruple {23890#true} {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #99#return; {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:32:34,141 INFO L290 TraceCheckUtils]: 137: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,141 INFO L290 TraceCheckUtils]: 136: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,141 INFO L290 TraceCheckUtils]: 135: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,142 INFO L272 TraceCheckUtils]: 134: Hoare triple {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,142 INFO L290 TraceCheckUtils]: 133: Hoare triple {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:32:34,142 INFO L290 TraceCheckUtils]: 132: Hoare triple {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:32:34,143 INFO L290 TraceCheckUtils]: 131: Hoare triple {24269#(= 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; {24291#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-28 12:32:34,143 INFO L290 TraceCheckUtils]: 130: Hoare triple {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:32:34,144 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {23890#true} {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #97#return; {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:32:34,144 INFO L290 TraceCheckUtils]: 128: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,144 INFO L290 TraceCheckUtils]: 127: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,144 INFO L290 TraceCheckUtils]: 126: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,144 INFO L272 TraceCheckUtils]: 125: Hoare triple {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,144 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} {23890#true} #95#return; {24269#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-28 12:32:34,145 INFO L290 TraceCheckUtils]: 123: Hoare triple {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:32:34,145 INFO L290 TraceCheckUtils]: 122: Hoare triple {24390#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {24262#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:32:34,145 INFO L290 TraceCheckUtils]: 121: Hoare triple {23890#true} ~cond := #in~cond; {24390#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 12:32:34,145 INFO L272 TraceCheckUtils]: 120: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,145 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 12:32:34,146 INFO L290 TraceCheckUtils]: 118: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,146 INFO L290 TraceCheckUtils]: 117: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,146 INFO L290 TraceCheckUtils]: 116: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,146 INFO L272 TraceCheckUtils]: 115: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,146 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 12:32:34,146 INFO L290 TraceCheckUtils]: 113: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,146 INFO L290 TraceCheckUtils]: 112: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,146 INFO L290 TraceCheckUtils]: 111: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,146 INFO L272 TraceCheckUtils]: 110: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,146 INFO L290 TraceCheckUtils]: 109: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 12:32:34,146 INFO L290 TraceCheckUtils]: 108: Hoare triple {23890#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {23890#true} is VALID [2022-04-28 12:32:34,146 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {23890#true} {23890#true} #97#return; {23890#true} is VALID [2022-04-28 12:32:34,146 INFO L290 TraceCheckUtils]: 106: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,146 INFO L290 TraceCheckUtils]: 105: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L290 TraceCheckUtils]: 104: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L272 TraceCheckUtils]: 103: Hoare triple {23890#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {23890#true} {23890#true} #95#return; {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L290 TraceCheckUtils]: 101: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L290 TraceCheckUtils]: 100: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L290 TraceCheckUtils]: 99: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L272 TraceCheckUtils]: 98: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L290 TraceCheckUtils]: 96: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L290 TraceCheckUtils]: 95: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L290 TraceCheckUtils]: 94: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L272 TraceCheckUtils]: 93: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L290 TraceCheckUtils]: 91: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L290 TraceCheckUtils]: 90: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,147 INFO L290 TraceCheckUtils]: 89: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,148 INFO L272 TraceCheckUtils]: 88: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,148 INFO L290 TraceCheckUtils]: 87: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 12:32:34,148 INFO L290 TraceCheckUtils]: 86: Hoare triple {23890#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {23890#true} is VALID [2022-04-28 12:32:34,148 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {23890#true} {23890#true} #97#return; {23890#true} is VALID [2022-04-28 12:32:34,148 INFO L290 TraceCheckUtils]: 84: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,148 INFO L290 TraceCheckUtils]: 83: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,148 INFO L290 TraceCheckUtils]: 82: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,148 INFO L272 TraceCheckUtils]: 81: Hoare triple {23890#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,148 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23890#true} {23890#true} #95#return; {23890#true} is VALID [2022-04-28 12:32:34,148 INFO L290 TraceCheckUtils]: 79: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,148 INFO L290 TraceCheckUtils]: 78: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,148 INFO L290 TraceCheckUtils]: 77: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,148 INFO L272 TraceCheckUtils]: 76: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,148 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 12:32:34,148 INFO L290 TraceCheckUtils]: 74: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,149 INFO L290 TraceCheckUtils]: 73: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,149 INFO L290 TraceCheckUtils]: 72: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,149 INFO L272 TraceCheckUtils]: 71: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,149 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 12:32:34,149 INFO L290 TraceCheckUtils]: 69: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,149 INFO L290 TraceCheckUtils]: 68: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,149 INFO L290 TraceCheckUtils]: 67: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,149 INFO L272 TraceCheckUtils]: 66: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,149 INFO L290 TraceCheckUtils]: 65: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 12:32:34,149 INFO L290 TraceCheckUtils]: 64: Hoare triple {23890#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23890#true} is VALID [2022-04-28 12:32:34,149 INFO L290 TraceCheckUtils]: 63: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 12:32:34,149 INFO L290 TraceCheckUtils]: 62: Hoare triple {23890#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; {23890#true} is VALID [2022-04-28 12:32:34,149 INFO L290 TraceCheckUtils]: 61: Hoare triple {23890#true} assume !(~c~0 >= ~b~0); {23890#true} is VALID [2022-04-28 12:32:34,149 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {23890#true} {23890#true} #97#return; {23890#true} is VALID [2022-04-28 12:32:34,149 INFO L290 TraceCheckUtils]: 59: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,150 INFO L290 TraceCheckUtils]: 58: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,150 INFO L290 TraceCheckUtils]: 57: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,150 INFO L272 TraceCheckUtils]: 56: Hoare triple {23890#true} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,150 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {23890#true} {23890#true} #95#return; {23890#true} is VALID [2022-04-28 12:32:34,150 INFO L290 TraceCheckUtils]: 54: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,150 INFO L290 TraceCheckUtils]: 53: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,150 INFO L290 TraceCheckUtils]: 52: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,150 INFO L272 TraceCheckUtils]: 51: Hoare triple {23890#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,150 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {23890#true} {23890#true} #93#return; {23890#true} is VALID [2022-04-28 12:32:34,150 INFO L290 TraceCheckUtils]: 49: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,150 INFO L290 TraceCheckUtils]: 48: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,150 INFO L290 TraceCheckUtils]: 47: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,150 INFO L272 TraceCheckUtils]: 46: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,150 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {23890#true} {23890#true} #91#return; {23890#true} is VALID [2022-04-28 12:32:34,150 INFO L290 TraceCheckUtils]: 44: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,151 INFO L290 TraceCheckUtils]: 43: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,151 INFO L290 TraceCheckUtils]: 42: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,151 INFO L272 TraceCheckUtils]: 41: Hoare triple {23890#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,151 INFO L290 TraceCheckUtils]: 40: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 12:32:34,151 INFO L290 TraceCheckUtils]: 39: Hoare triple {23890#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23890#true} is VALID [2022-04-28 12:32:34,151 INFO L290 TraceCheckUtils]: 38: Hoare triple {23890#true} assume !false; {23890#true} is VALID [2022-04-28 12:32:34,151 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {23890#true} {23890#true} #89#return; {23890#true} is VALID [2022-04-28 12:32:34,151 INFO L290 TraceCheckUtils]: 36: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,151 INFO L290 TraceCheckUtils]: 35: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,151 INFO L290 TraceCheckUtils]: 34: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,151 INFO L272 TraceCheckUtils]: 33: Hoare triple {23890#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,151 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {23890#true} {23890#true} #87#return; {23890#true} is VALID [2022-04-28 12:32:34,151 INFO L290 TraceCheckUtils]: 31: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,151 INFO L290 TraceCheckUtils]: 30: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,151 INFO L290 TraceCheckUtils]: 29: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L272 TraceCheckUtils]: 28: Hoare triple {23890#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L290 TraceCheckUtils]: 27: Hoare triple {23890#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {23890#true} {23890#true} #85#return; {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L290 TraceCheckUtils]: 25: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L290 TraceCheckUtils]: 24: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L290 TraceCheckUtils]: 23: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L272 TraceCheckUtils]: 22: Hoare triple {23890#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {23890#true} {23890#true} #83#return; {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L290 TraceCheckUtils]: 20: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L290 TraceCheckUtils]: 19: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L290 TraceCheckUtils]: 18: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L272 TraceCheckUtils]: 17: Hoare triple {23890#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23890#true} {23890#true} #81#return; {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L290 TraceCheckUtils]: 15: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L290 TraceCheckUtils]: 14: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,152 INFO L290 TraceCheckUtils]: 13: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,153 INFO L272 TraceCheckUtils]: 12: Hoare triple {23890#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,153 INFO L290 TraceCheckUtils]: 11: Hoare triple {23890#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23890#true} is VALID [2022-04-28 12:32:34,153 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23890#true} {23890#true} #79#return; {23890#true} is VALID [2022-04-28 12:32:34,153 INFO L290 TraceCheckUtils]: 9: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,153 INFO L290 TraceCheckUtils]: 8: Hoare triple {23890#true} assume !(0 == ~cond); {23890#true} is VALID [2022-04-28 12:32:34,153 INFO L290 TraceCheckUtils]: 7: Hoare triple {23890#true} ~cond := #in~cond; {23890#true} is VALID [2022-04-28 12:32:34,153 INFO L272 TraceCheckUtils]: 6: Hoare triple {23890#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {23890#true} is VALID [2022-04-28 12:32:34,153 INFO L290 TraceCheckUtils]: 5: Hoare triple {23890#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {23890#true} is VALID [2022-04-28 12:32:34,153 INFO L272 TraceCheckUtils]: 4: Hoare triple {23890#true} call #t~ret6 := main(); {23890#true} is VALID [2022-04-28 12:32:34,153 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23890#true} {23890#true} #103#return; {23890#true} is VALID [2022-04-28 12:32:34,153 INFO L290 TraceCheckUtils]: 2: Hoare triple {23890#true} assume true; {23890#true} is VALID [2022-04-28 12:32:34,153 INFO L290 TraceCheckUtils]: 1: Hoare triple {23890#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); {23890#true} is VALID [2022-04-28 12:32:34,153 INFO L272 TraceCheckUtils]: 0: Hoare triple {23890#true} call ULTIMATE.init(); {23890#true} is VALID [2022-04-28 12:32:34,154 INFO L134 CoverageAnalysis]: Checked inductivity of 681 backedges. 86 proven. 7 refuted. 0 times theorem prover too weak. 588 trivial. 0 not checked. [2022-04-28 12:32:34,154 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:32:34,154 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1644549644] [2022-04-28 12:32:34,154 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:32:34,154 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1803425909] [2022-04-28 12:32:34,154 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1803425909] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:32:34,154 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:32:34,154 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-28 12:32:34,154 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:32:34,154 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [422285395] [2022-04-28 12:32:34,155 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [422285395] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:32:34,155 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:32:34,155 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-28 12:32:34,155 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [279902567] [2022-04-28 12:32:34,155 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:32:34,156 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 143 [2022-04-28 12:32:34,156 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:32:34,157 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 12:32:34,192 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:32:34,192 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-28 12:32:34,192 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:32:34,193 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-28 12:32:34,193 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-28 12:32:34,193 INFO L87 Difference]: Start difference. First operand 165 states and 211 transitions. Second operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 12:32:34,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:32:34,921 INFO L93 Difference]: Finished difference Result 171 states and 216 transitions. [2022-04-28 12:32:34,921 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-28 12:32:34,921 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) Word has length 143 [2022-04-28 12:32:34,921 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:32:34,921 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 12:32:34,922 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-28 12:32:34,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 12:32:34,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-28 12:32:34,923 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 60 transitions. [2022-04-28 12:32:34,975 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:32:34,977 INFO L225 Difference]: With dead ends: 171 [2022-04-28 12:32:34,977 INFO L226 Difference]: Without dead ends: 163 [2022-04-28 12:32:34,977 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 288 GetRequests, 277 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-28 12:32:34,978 INFO L413 NwaCegarLoop]: 36 mSDtfsCounter, 20 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 112 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 156 SdHoareTripleChecker+Invalid, 131 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 112 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 12:32:34,978 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [23 Valid, 156 Invalid, 131 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 112 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 12:32:34,978 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2022-04-28 12:32:35,514 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 163. [2022-04-28 12:32:35,515 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:32:35,515 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand has 163 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 90 states have internal predecessors, (94), 57 states have call successors, (57), 17 states have call predecessors, (57), 16 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 12:32:35,515 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand has 163 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 90 states have internal predecessors, (94), 57 states have call successors, (57), 17 states have call predecessors, (57), 16 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 12:32:35,515 INFO L87 Difference]: Start difference. First operand 163 states. Second operand has 163 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 90 states have internal predecessors, (94), 57 states have call successors, (57), 17 states have call predecessors, (57), 16 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 12:32:35,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:32:35,518 INFO L93 Difference]: Finished difference Result 163 states and 206 transitions. [2022-04-28 12:32:35,518 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 206 transitions. [2022-04-28 12:32:35,518 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:32:35,518 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:32:35,519 INFO L74 IsIncluded]: Start isIncluded. First operand has 163 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 90 states have internal predecessors, (94), 57 states have call successors, (57), 17 states have call predecessors, (57), 16 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) Second operand 163 states. [2022-04-28 12:32:35,519 INFO L87 Difference]: Start difference. First operand has 163 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 90 states have internal predecessors, (94), 57 states have call successors, (57), 17 states have call predecessors, (57), 16 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) Second operand 163 states. [2022-04-28 12:32:35,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:32:35,521 INFO L93 Difference]: Finished difference Result 163 states and 206 transitions. [2022-04-28 12:32:35,521 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 206 transitions. [2022-04-28 12:32:35,522 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:32:35,522 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:32:35,522 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:32:35,522 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:32:35,522 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 163 states, 89 states have (on average 1.0561797752808988) internal successors, (94), 90 states have internal predecessors, (94), 57 states have call successors, (57), 17 states have call predecessors, (57), 16 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-28 12:32:35,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 163 states to 163 states and 206 transitions. [2022-04-28 12:32:35,525 INFO L78 Accepts]: Start accepts. Automaton has 163 states and 206 transitions. Word has length 143 [2022-04-28 12:32:35,525 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:32:35,525 INFO L495 AbstractCegarLoop]: Abstraction has 163 states and 206 transitions. [2022-04-28 12:32:35,525 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 3 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (14), 3 states have call predecessors, (14), 3 states have call successors, (14) [2022-04-28 12:32:35,525 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 163 states and 206 transitions. [2022-04-28 12:32:35,993 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 206 edges. 206 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:32:35,993 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 206 transitions. [2022-04-28 12:32:35,993 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 150 [2022-04-28 12:32:35,993 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:32:35,994 INFO L195 NwaCegarLoop]: trace histogram [19, 18, 18, 6, 6, 6, 5, 5, 5, 5, 5, 5, 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] [2022-04-28 12:32:36,027 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 12:32:36,194 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 12:32:36,194 INFO L420 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:32:36,194 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:32:36,194 INFO L85 PathProgramCache]: Analyzing trace with hash -1351165176, now seen corresponding path program 7 times [2022-04-28 12:32:36,194 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:32:36,195 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2052334123] [2022-04-28 12:32:36,195 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:32:36,195 INFO L85 PathProgramCache]: Analyzing trace with hash -1351165176, now seen corresponding path program 8 times [2022-04-28 12:32:36,195 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:32:36,195 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [803949787] [2022-04-28 12:32:36,195 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:32:36,195 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:32:36,206 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:32:36,206 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [958930829] [2022-04-28 12:32:36,206 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 12:32:36,206 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:32:36,206 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:32:36,207 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 12:32:36,208 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 12:32:36,279 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 12:32:36,279 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:32:36,280 INFO L263 TraceCheckSpWp]: Trace formula consists of 355 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-28 12:32:36,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:32:36,299 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:32:40,272 INFO L272 TraceCheckUtils]: 0: Hoare triple {25756#true} call ULTIMATE.init(); {25756#true} is VALID [2022-04-28 12:32:40,272 INFO L290 TraceCheckUtils]: 1: Hoare triple {25756#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); {25756#true} is VALID [2022-04-28 12:32:40,272 INFO L290 TraceCheckUtils]: 2: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,272 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25756#true} {25756#true} #103#return; {25756#true} is VALID [2022-04-28 12:32:40,272 INFO L272 TraceCheckUtils]: 4: Hoare triple {25756#true} call #t~ret6 := main(); {25756#true} is VALID [2022-04-28 12:32:40,272 INFO L290 TraceCheckUtils]: 5: Hoare triple {25756#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {25756#true} is VALID [2022-04-28 12:32:40,272 INFO L272 TraceCheckUtils]: 6: Hoare triple {25756#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,272 INFO L290 TraceCheckUtils]: 7: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,272 INFO L290 TraceCheckUtils]: 8: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,272 INFO L290 TraceCheckUtils]: 9: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,272 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25756#true} {25756#true} #79#return; {25756#true} is VALID [2022-04-28 12:32:40,272 INFO L290 TraceCheckUtils]: 11: Hoare triple {25756#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25756#true} is VALID [2022-04-28 12:32:40,273 INFO L272 TraceCheckUtils]: 12: Hoare triple {25756#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,273 INFO L290 TraceCheckUtils]: 13: Hoare triple {25756#true} ~cond := #in~cond; {25800#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:32:40,273 INFO L290 TraceCheckUtils]: 14: Hoare triple {25800#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {25804#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:32:40,273 INFO L290 TraceCheckUtils]: 15: Hoare triple {25804#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {25804#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:32:40,274 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {25804#(not (= |assume_abort_if_not_#in~cond| 0))} {25756#true} #81#return; {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:32:40,274 INFO L272 TraceCheckUtils]: 17: Hoare triple {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,274 INFO L290 TraceCheckUtils]: 18: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,274 INFO L290 TraceCheckUtils]: 19: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,274 INFO L290 TraceCheckUtils]: 20: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,275 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25756#true} {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #83#return; {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:32:40,275 INFO L272 TraceCheckUtils]: 22: Hoare triple {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,275 INFO L290 TraceCheckUtils]: 23: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,275 INFO L290 TraceCheckUtils]: 24: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,275 INFO L290 TraceCheckUtils]: 25: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,275 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {25756#true} {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #85#return; {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-28 12:32:40,276 INFO L290 TraceCheckUtils]: 27: Hoare triple {25811#(and (<= 0 main_~y~0) (<= main_~y~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 12:32:40,276 INFO L272 TraceCheckUtils]: 28: Hoare triple {25845#(<= main_~b~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,276 INFO L290 TraceCheckUtils]: 29: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,276 INFO L290 TraceCheckUtils]: 30: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,276 INFO L290 TraceCheckUtils]: 31: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,276 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {25756#true} {25845#(<= main_~b~0 2)} #87#return; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 12:32:40,276 INFO L272 TraceCheckUtils]: 33: Hoare triple {25845#(<= main_~b~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,277 INFO L290 TraceCheckUtils]: 34: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,277 INFO L290 TraceCheckUtils]: 35: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,277 INFO L290 TraceCheckUtils]: 36: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,277 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25756#true} {25845#(<= main_~b~0 2)} #89#return; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 12:32:40,277 INFO L290 TraceCheckUtils]: 38: Hoare triple {25845#(<= main_~b~0 2)} assume !false; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 12:32:40,278 INFO L290 TraceCheckUtils]: 39: Hoare triple {25845#(<= main_~b~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 12:32:40,278 INFO L290 TraceCheckUtils]: 40: Hoare triple {25845#(<= main_~b~0 2)} assume !false; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 12:32:40,278 INFO L272 TraceCheckUtils]: 41: Hoare triple {25845#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,278 INFO L290 TraceCheckUtils]: 42: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,278 INFO L290 TraceCheckUtils]: 43: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,278 INFO L290 TraceCheckUtils]: 44: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,279 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {25756#true} {25845#(<= main_~b~0 2)} #91#return; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 12:32:40,279 INFO L272 TraceCheckUtils]: 46: Hoare triple {25845#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,279 INFO L290 TraceCheckUtils]: 47: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,279 INFO L290 TraceCheckUtils]: 48: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,279 INFO L290 TraceCheckUtils]: 49: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,279 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {25756#true} {25845#(<= main_~b~0 2)} #93#return; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 12:32:40,279 INFO L272 TraceCheckUtils]: 51: Hoare triple {25845#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,280 INFO L290 TraceCheckUtils]: 52: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,280 INFO L290 TraceCheckUtils]: 53: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,280 INFO L290 TraceCheckUtils]: 54: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,280 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {25756#true} {25845#(<= main_~b~0 2)} #95#return; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 12:32:40,280 INFO L272 TraceCheckUtils]: 56: Hoare triple {25845#(<= main_~b~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,280 INFO L290 TraceCheckUtils]: 57: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,280 INFO L290 TraceCheckUtils]: 58: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,281 INFO L290 TraceCheckUtils]: 59: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,281 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {25756#true} {25845#(<= main_~b~0 2)} #97#return; {25845#(<= main_~b~0 2)} is VALID [2022-04-28 12:32:40,281 INFO L290 TraceCheckUtils]: 61: Hoare triple {25845#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {25845#(<= main_~b~0 2)} is VALID [2022-04-28 12:32:40,282 INFO L290 TraceCheckUtils]: 62: Hoare triple {25845#(<= 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; {25951#(<= main_~a~0 2)} is VALID [2022-04-28 12:32:40,282 INFO L290 TraceCheckUtils]: 63: Hoare triple {25951#(<= main_~a~0 2)} assume !false; {25951#(<= main_~a~0 2)} is VALID [2022-04-28 12:32:40,282 INFO L290 TraceCheckUtils]: 64: Hoare triple {25951#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {25958#(<= main_~c~0 2)} is VALID [2022-04-28 12:32:40,283 INFO L290 TraceCheckUtils]: 65: Hoare triple {25958#(<= main_~c~0 2)} assume !false; {25958#(<= main_~c~0 2)} is VALID [2022-04-28 12:32:40,283 INFO L272 TraceCheckUtils]: 66: Hoare triple {25958#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,283 INFO L290 TraceCheckUtils]: 67: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,283 INFO L290 TraceCheckUtils]: 68: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,283 INFO L290 TraceCheckUtils]: 69: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,283 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {25756#true} {25958#(<= main_~c~0 2)} #91#return; {25958#(<= main_~c~0 2)} is VALID [2022-04-28 12:32:40,283 INFO L272 TraceCheckUtils]: 71: Hoare triple {25958#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,283 INFO L290 TraceCheckUtils]: 72: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,284 INFO L290 TraceCheckUtils]: 73: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,284 INFO L290 TraceCheckUtils]: 74: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,284 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {25756#true} {25958#(<= main_~c~0 2)} #93#return; {25958#(<= main_~c~0 2)} is VALID [2022-04-28 12:32:40,284 INFO L272 TraceCheckUtils]: 76: Hoare triple {25958#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,284 INFO L290 TraceCheckUtils]: 77: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,284 INFO L290 TraceCheckUtils]: 78: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,284 INFO L290 TraceCheckUtils]: 79: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,285 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {25756#true} {25958#(<= main_~c~0 2)} #95#return; {25958#(<= main_~c~0 2)} is VALID [2022-04-28 12:32:40,285 INFO L272 TraceCheckUtils]: 81: Hoare triple {25958#(<= main_~c~0 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,285 INFO L290 TraceCheckUtils]: 82: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,285 INFO L290 TraceCheckUtils]: 83: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,285 INFO L290 TraceCheckUtils]: 84: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,286 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {25756#true} {25958#(<= main_~c~0 2)} #97#return; {25958#(<= main_~c~0 2)} is VALID [2022-04-28 12:32:40,287 INFO L290 TraceCheckUtils]: 86: Hoare triple {25958#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {26025#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 12:32:40,287 INFO L290 TraceCheckUtils]: 87: Hoare triple {26025#(<= (+ main_~c~0 main_~b~0) 2)} assume !false; {26025#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 12:32:40,287 INFO L272 TraceCheckUtils]: 88: Hoare triple {26025#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,287 INFO L290 TraceCheckUtils]: 89: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,287 INFO L290 TraceCheckUtils]: 90: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,287 INFO L290 TraceCheckUtils]: 91: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,288 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {25756#true} {26025#(<= (+ main_~c~0 main_~b~0) 2)} #91#return; {26025#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 12:32:40,288 INFO L272 TraceCheckUtils]: 93: Hoare triple {26025#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,288 INFO L290 TraceCheckUtils]: 94: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,288 INFO L290 TraceCheckUtils]: 95: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,288 INFO L290 TraceCheckUtils]: 96: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,289 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {25756#true} {26025#(<= (+ main_~c~0 main_~b~0) 2)} #93#return; {26025#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 12:32:40,289 INFO L272 TraceCheckUtils]: 98: Hoare triple {26025#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,289 INFO L290 TraceCheckUtils]: 99: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,289 INFO L290 TraceCheckUtils]: 100: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,289 INFO L290 TraceCheckUtils]: 101: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,290 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {25756#true} {26025#(<= (+ main_~c~0 main_~b~0) 2)} #95#return; {26025#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 12:32:40,290 INFO L272 TraceCheckUtils]: 103: Hoare triple {26025#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,290 INFO L290 TraceCheckUtils]: 104: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,290 INFO L290 TraceCheckUtils]: 105: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,290 INFO L290 TraceCheckUtils]: 106: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,290 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {25756#true} {26025#(<= (+ main_~c~0 main_~b~0) 2)} #97#return; {26025#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-28 12:32:40,292 INFO L290 TraceCheckUtils]: 108: Hoare triple {26025#(<= (+ main_~c~0 main_~b~0) 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-28 12:32:40,292 INFO L290 TraceCheckUtils]: 109: Hoare triple {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} assume !false; {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-28 12:32:40,292 INFO L272 TraceCheckUtils]: 110: Hoare triple {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,292 INFO L290 TraceCheckUtils]: 111: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,292 INFO L290 TraceCheckUtils]: 112: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,292 INFO L290 TraceCheckUtils]: 113: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,293 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {25756#true} {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} #91#return; {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-28 12:32:40,293 INFO L272 TraceCheckUtils]: 115: Hoare triple {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,293 INFO L290 TraceCheckUtils]: 116: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,293 INFO L290 TraceCheckUtils]: 117: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,293 INFO L290 TraceCheckUtils]: 118: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,294 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {25756#true} {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} #93#return; {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-28 12:32:40,294 INFO L272 TraceCheckUtils]: 120: Hoare triple {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,294 INFO L290 TraceCheckUtils]: 121: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,294 INFO L290 TraceCheckUtils]: 122: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,294 INFO L290 TraceCheckUtils]: 123: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,294 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {25756#true} {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} #95#return; {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-28 12:32:40,295 INFO L272 TraceCheckUtils]: 125: Hoare triple {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:32:40,295 INFO L290 TraceCheckUtils]: 126: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:32:40,295 INFO L290 TraceCheckUtils]: 127: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:32:40,295 INFO L290 TraceCheckUtils]: 128: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:32:40,295 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {25756#true} {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} #97#return; {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-28 12:32:40,296 INFO L290 TraceCheckUtils]: 130: Hoare triple {26092#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} assume !(~c~0 >= ~b~0); {26159#(and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0))} is VALID [2022-04-28 12:32:40,297 INFO L290 TraceCheckUtils]: 131: Hoare triple {26159#(and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 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; {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:32:40,297 INFO L290 TraceCheckUtils]: 132: Hoare triple {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} assume !false; {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:32:40,298 INFO L290 TraceCheckUtils]: 133: Hoare triple {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {25757#false} is VALID [2022-04-28 12:32:40,298 INFO L290 TraceCheckUtils]: 134: Hoare triple {25757#false} assume !false; {25757#false} is VALID [2022-04-28 12:32:40,298 INFO L272 TraceCheckUtils]: 135: Hoare triple {25757#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25757#false} is VALID [2022-04-28 12:32:40,298 INFO L290 TraceCheckUtils]: 136: Hoare triple {25757#false} ~cond := #in~cond; {25757#false} is VALID [2022-04-28 12:32:40,298 INFO L290 TraceCheckUtils]: 137: Hoare triple {25757#false} assume !(0 == ~cond); {25757#false} is VALID [2022-04-28 12:32:40,298 INFO L290 TraceCheckUtils]: 138: Hoare triple {25757#false} assume true; {25757#false} is VALID [2022-04-28 12:32:40,298 INFO L284 TraceCheckUtils]: 139: Hoare quadruple {25757#false} {25757#false} #91#return; {25757#false} is VALID [2022-04-28 12:32:40,298 INFO L272 TraceCheckUtils]: 140: Hoare triple {25757#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25757#false} is VALID [2022-04-28 12:32:40,299 INFO L290 TraceCheckUtils]: 141: Hoare triple {25757#false} ~cond := #in~cond; {25757#false} is VALID [2022-04-28 12:32:40,299 INFO L290 TraceCheckUtils]: 142: Hoare triple {25757#false} assume !(0 == ~cond); {25757#false} is VALID [2022-04-28 12:32:40,299 INFO L290 TraceCheckUtils]: 143: Hoare triple {25757#false} assume true; {25757#false} is VALID [2022-04-28 12:32:40,299 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {25757#false} {25757#false} #93#return; {25757#false} is VALID [2022-04-28 12:32:40,299 INFO L272 TraceCheckUtils]: 145: Hoare triple {25757#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25757#false} is VALID [2022-04-28 12:32:40,299 INFO L290 TraceCheckUtils]: 146: Hoare triple {25757#false} ~cond := #in~cond; {25757#false} is VALID [2022-04-28 12:32:40,299 INFO L290 TraceCheckUtils]: 147: Hoare triple {25757#false} assume 0 == ~cond; {25757#false} is VALID [2022-04-28 12:32:40,299 INFO L290 TraceCheckUtils]: 148: Hoare triple {25757#false} assume !false; {25757#false} is VALID [2022-04-28 12:32:40,299 INFO L134 CoverageAnalysis]: Checked inductivity of 767 backedges. 187 proven. 47 refuted. 0 times theorem prover too weak. 533 trivial. 0 not checked. [2022-04-28 12:32:40,300 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 12:33:14,492 INFO L290 TraceCheckUtils]: 148: Hoare triple {25757#false} assume !false; {25757#false} is VALID [2022-04-28 12:33:14,492 INFO L290 TraceCheckUtils]: 147: Hoare triple {25757#false} assume 0 == ~cond; {25757#false} is VALID [2022-04-28 12:33:14,492 INFO L290 TraceCheckUtils]: 146: Hoare triple {25757#false} ~cond := #in~cond; {25757#false} is VALID [2022-04-28 12:33:14,492 INFO L272 TraceCheckUtils]: 145: Hoare triple {25757#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25757#false} is VALID [2022-04-28 12:33:14,492 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {25756#true} {25757#false} #93#return; {25757#false} is VALID [2022-04-28 12:33:14,492 INFO L290 TraceCheckUtils]: 143: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,492 INFO L290 TraceCheckUtils]: 142: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,493 INFO L290 TraceCheckUtils]: 141: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,493 INFO L272 TraceCheckUtils]: 140: Hoare triple {25757#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,493 INFO L284 TraceCheckUtils]: 139: Hoare quadruple {25756#true} {25757#false} #91#return; {25757#false} is VALID [2022-04-28 12:33:14,493 INFO L290 TraceCheckUtils]: 138: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,493 INFO L290 TraceCheckUtils]: 137: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,493 INFO L290 TraceCheckUtils]: 136: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,493 INFO L272 TraceCheckUtils]: 135: Hoare triple {25757#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,493 INFO L290 TraceCheckUtils]: 134: Hoare triple {25757#false} assume !false; {25757#false} is VALID [2022-04-28 12:33:14,494 INFO L290 TraceCheckUtils]: 133: Hoare triple {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {25757#false} is VALID [2022-04-28 12:33:14,494 INFO L290 TraceCheckUtils]: 132: Hoare triple {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} assume !false; {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:33:14,495 INFO L290 TraceCheckUtils]: 131: Hoare triple {26159#(and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 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; {26163#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-28 12:33:14,495 INFO L290 TraceCheckUtils]: 130: Hoare triple {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} assume !(~c~0 >= ~b~0); {26159#(and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0))} is VALID [2022-04-28 12:33:14,496 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {25756#true} {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #97#return; {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:33:14,496 INFO L290 TraceCheckUtils]: 128: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,496 INFO L290 TraceCheckUtils]: 127: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,496 INFO L290 TraceCheckUtils]: 126: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,496 INFO L272 TraceCheckUtils]: 125: Hoare triple {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,497 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {25756#true} {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #95#return; {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:33:14,497 INFO L290 TraceCheckUtils]: 123: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,497 INFO L290 TraceCheckUtils]: 122: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,497 INFO L290 TraceCheckUtils]: 121: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,497 INFO L272 TraceCheckUtils]: 120: Hoare triple {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,498 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {25756#true} {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #93#return; {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:33:14,498 INFO L290 TraceCheckUtils]: 118: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,498 INFO L290 TraceCheckUtils]: 117: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,498 INFO L290 TraceCheckUtils]: 116: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,498 INFO L272 TraceCheckUtils]: 115: Hoare triple {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,498 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {25756#true} {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #91#return; {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:33:14,498 INFO L290 TraceCheckUtils]: 113: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,498 INFO L290 TraceCheckUtils]: 112: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,498 INFO L290 TraceCheckUtils]: 111: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,499 INFO L272 TraceCheckUtils]: 110: Hoare triple {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,499 INFO L290 TraceCheckUtils]: 109: Hoare triple {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} assume !false; {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:33:14,501 INFO L290 TraceCheckUtils]: 108: Hoare triple {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {26269#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} is VALID [2022-04-28 12:33:14,501 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {25756#true} {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} #97#return; {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} is VALID [2022-04-28 12:33:14,501 INFO L290 TraceCheckUtils]: 106: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,501 INFO L290 TraceCheckUtils]: 105: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,502 INFO L290 TraceCheckUtils]: 104: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,502 INFO L272 TraceCheckUtils]: 103: Hoare triple {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,502 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {25756#true} {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} #95#return; {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} is VALID [2022-04-28 12:33:14,502 INFO L290 TraceCheckUtils]: 101: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,502 INFO L290 TraceCheckUtils]: 100: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,502 INFO L290 TraceCheckUtils]: 99: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,502 INFO L272 TraceCheckUtils]: 98: Hoare triple {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,503 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {25756#true} {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} #93#return; {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} is VALID [2022-04-28 12:33:14,503 INFO L290 TraceCheckUtils]: 96: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,503 INFO L290 TraceCheckUtils]: 95: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,503 INFO L290 TraceCheckUtils]: 94: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,503 INFO L272 TraceCheckUtils]: 93: Hoare triple {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,504 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {25756#true} {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} #91#return; {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} is VALID [2022-04-28 12:33:14,504 INFO L290 TraceCheckUtils]: 91: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,504 INFO L290 TraceCheckUtils]: 90: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,504 INFO L290 TraceCheckUtils]: 89: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,504 INFO L272 TraceCheckUtils]: 88: Hoare triple {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,505 INFO L290 TraceCheckUtils]: 87: Hoare triple {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} assume !false; {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} is VALID [2022-04-28 12:33:14,507 INFO L290 TraceCheckUtils]: 86: Hoare triple {26403#(forall ((aux_div_v_main_~c~0_65_48 Int) (main_~b~0 Int)) (or (<= (+ main_~c~0 (* 2 aux_div_v_main_~c~0_65_48)) (* main_~b~0 2)) (< 2 (* 3 aux_div_v_main_~c~0_65_48)) (<= (+ main_~b~0 (* 2 aux_div_v_main_~c~0_65_48)) 1)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {26336#(or (< main_~c~0 (+ main_~b~0 (div (+ (* (- 1) main_~c~0) main_~b~0 2) 2))) (<= (* main_~b~0 2) main_~c~0))} is VALID [2022-04-28 12:33:14,508 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {25756#true} {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} #97#return; {26403#(forall ((aux_div_v_main_~c~0_65_48 Int) (main_~b~0 Int)) (or (<= (+ main_~c~0 (* 2 aux_div_v_main_~c~0_65_48)) (* main_~b~0 2)) (< 2 (* 3 aux_div_v_main_~c~0_65_48)) (<= (+ main_~b~0 (* 2 aux_div_v_main_~c~0_65_48)) 1)))} is VALID [2022-04-28 12:33:14,508 INFO L290 TraceCheckUtils]: 84: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,508 INFO L290 TraceCheckUtils]: 83: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,508 INFO L290 TraceCheckUtils]: 82: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,508 INFO L272 TraceCheckUtils]: 81: Hoare triple {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,509 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {25756#true} {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} #95#return; {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} is VALID [2022-04-28 12:33:14,509 INFO L290 TraceCheckUtils]: 79: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,509 INFO L290 TraceCheckUtils]: 78: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,509 INFO L290 TraceCheckUtils]: 77: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,509 INFO L272 TraceCheckUtils]: 76: Hoare triple {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,510 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {25756#true} {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} #93#return; {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} is VALID [2022-04-28 12:33:14,510 INFO L290 TraceCheckUtils]: 74: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,510 INFO L290 TraceCheckUtils]: 73: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,510 INFO L290 TraceCheckUtils]: 72: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,510 INFO L272 TraceCheckUtils]: 71: Hoare triple {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,510 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {25756#true} {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} #91#return; {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} is VALID [2022-04-28 12:33:14,511 INFO L290 TraceCheckUtils]: 69: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,511 INFO L290 TraceCheckUtils]: 68: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,511 INFO L290 TraceCheckUtils]: 67: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,511 INFO L272 TraceCheckUtils]: 66: Hoare triple {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,511 INFO L290 TraceCheckUtils]: 65: Hoare triple {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} assume !false; {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} is VALID [2022-04-28 12:33:14,512 INFO L290 TraceCheckUtils]: 64: Hoare triple {26471#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~a~0) 2) 2) (- 2)) 3) 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {26407#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} is VALID [2022-04-28 12:33:14,512 INFO L290 TraceCheckUtils]: 63: Hoare triple {26471#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~a~0) 2) 2) (- 2)) 3) 1))} assume !false; {26471#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~a~0) 2) 2) (- 2)) 3) 1))} is VALID [2022-04-28 12:33:14,513 INFO L290 TraceCheckUtils]: 62: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 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; {26471#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~a~0) 2) 2) (- 2)) 3) 1))} is VALID [2022-04-28 12:33:14,513 INFO L290 TraceCheckUtils]: 61: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} assume !(~c~0 >= ~b~0); {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 12:33:14,514 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {25756#true} {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #97#return; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 12:33:14,514 INFO L290 TraceCheckUtils]: 59: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,514 INFO L290 TraceCheckUtils]: 58: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,514 INFO L290 TraceCheckUtils]: 57: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,514 INFO L272 TraceCheckUtils]: 56: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,515 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {25756#true} {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #95#return; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 12:33:14,515 INFO L290 TraceCheckUtils]: 54: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,515 INFO L290 TraceCheckUtils]: 53: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,515 INFO L290 TraceCheckUtils]: 52: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,515 INFO L272 TraceCheckUtils]: 51: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,516 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {25756#true} {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #93#return; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 12:33:14,516 INFO L290 TraceCheckUtils]: 49: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,516 INFO L290 TraceCheckUtils]: 48: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,516 INFO L290 TraceCheckUtils]: 47: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,516 INFO L272 TraceCheckUtils]: 46: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,516 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {25756#true} {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #91#return; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 12:33:14,517 INFO L290 TraceCheckUtils]: 44: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,517 INFO L290 TraceCheckUtils]: 43: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,517 INFO L290 TraceCheckUtils]: 42: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,517 INFO L272 TraceCheckUtils]: 41: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,517 INFO L290 TraceCheckUtils]: 40: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} assume !false; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 12:33:14,517 INFO L290 TraceCheckUtils]: 39: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 12:33:14,518 INFO L290 TraceCheckUtils]: 38: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} assume !false; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 12:33:14,518 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25756#true} {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #89#return; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 12:33:14,518 INFO L290 TraceCheckUtils]: 36: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,518 INFO L290 TraceCheckUtils]: 35: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,518 INFO L290 TraceCheckUtils]: 34: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,519 INFO L272 TraceCheckUtils]: 33: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,519 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {25756#true} {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #87#return; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 12:33:14,519 INFO L290 TraceCheckUtils]: 31: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,519 INFO L290 TraceCheckUtils]: 30: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,519 INFO L290 TraceCheckUtils]: 29: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,519 INFO L272 TraceCheckUtils]: 28: Hoare triple {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,520 INFO L290 TraceCheckUtils]: 27: Hoare triple {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {26478#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-28 12:33:14,520 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {25756#true} {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} #85#return; {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} is VALID [2022-04-28 12:33:14,521 INFO L290 TraceCheckUtils]: 25: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,521 INFO L290 TraceCheckUtils]: 24: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,521 INFO L290 TraceCheckUtils]: 23: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,521 INFO L272 TraceCheckUtils]: 22: Hoare triple {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,521 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25756#true} {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} #83#return; {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} is VALID [2022-04-28 12:33:14,521 INFO L290 TraceCheckUtils]: 20: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,521 INFO L290 TraceCheckUtils]: 19: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,521 INFO L290 TraceCheckUtils]: 18: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,521 INFO L272 TraceCheckUtils]: 17: Hoare triple {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,522 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {25804#(not (= |assume_abort_if_not_#in~cond| 0))} {25756#true} #81#return; {26584#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} is VALID [2022-04-28 12:33:14,522 INFO L290 TraceCheckUtils]: 15: Hoare triple {25804#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {25804#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:33:14,523 INFO L290 TraceCheckUtils]: 14: Hoare triple {26627#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {25804#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:33:14,523 INFO L290 TraceCheckUtils]: 13: Hoare triple {25756#true} ~cond := #in~cond; {26627#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 12:33:14,523 INFO L272 TraceCheckUtils]: 12: Hoare triple {25756#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,523 INFO L290 TraceCheckUtils]: 11: Hoare triple {25756#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25756#true} is VALID [2022-04-28 12:33:14,523 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25756#true} {25756#true} #79#return; {25756#true} is VALID [2022-04-28 12:33:14,523 INFO L290 TraceCheckUtils]: 9: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,523 INFO L290 TraceCheckUtils]: 8: Hoare triple {25756#true} assume !(0 == ~cond); {25756#true} is VALID [2022-04-28 12:33:14,524 INFO L290 TraceCheckUtils]: 7: Hoare triple {25756#true} ~cond := #in~cond; {25756#true} is VALID [2022-04-28 12:33:14,524 INFO L272 TraceCheckUtils]: 6: Hoare triple {25756#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {25756#true} is VALID [2022-04-28 12:33:14,524 INFO L290 TraceCheckUtils]: 5: Hoare triple {25756#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {25756#true} is VALID [2022-04-28 12:33:14,524 INFO L272 TraceCheckUtils]: 4: Hoare triple {25756#true} call #t~ret6 := main(); {25756#true} is VALID [2022-04-28 12:33:14,524 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25756#true} {25756#true} #103#return; {25756#true} is VALID [2022-04-28 12:33:14,524 INFO L290 TraceCheckUtils]: 2: Hoare triple {25756#true} assume true; {25756#true} is VALID [2022-04-28 12:33:14,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {25756#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); {25756#true} is VALID [2022-04-28 12:33:14,524 INFO L272 TraceCheckUtils]: 0: Hoare triple {25756#true} call ULTIMATE.init(); {25756#true} is VALID [2022-04-28 12:33:14,524 INFO L134 CoverageAnalysis]: Checked inductivity of 767 backedges. 57 proven. 53 refuted. 0 times theorem prover too weak. 657 trivial. 0 not checked. [2022-04-28 12:33:14,525 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 12:33:14,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [803949787] [2022-04-28 12:33:14,525 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-28 12:33:14,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [958930829] [2022-04-28 12:33:14,525 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [958930829] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 12:33:14,525 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 12:33:14,525 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 20 [2022-04-28 12:33:14,525 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 12:33:14,525 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2052334123] [2022-04-28 12:33:14,525 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2052334123] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 12:33:14,525 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 12:33:14,525 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 12:33:14,526 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [257545599] [2022-04-28 12:33:14,526 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 12:33:14,526 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 7 states have call successors, (27), 2 states have call predecessors, (27), 3 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) Word has length 149 [2022-04-28 12:33:14,526 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 12:33:14,526 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 7 states have call successors, (27), 2 states have call predecessors, (27), 3 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-28 12:33:14,602 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:33:14,602 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 12:33:14,602 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 12:33:14,603 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 12:33:14,603 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=320, Unknown=0, NotChecked=0, Total=380 [2022-04-28 12:33:14,603 INFO L87 Difference]: Start difference. First operand 163 states and 206 transitions. Second operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 7 states have call successors, (27), 2 states have call predecessors, (27), 3 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-28 12:33:16,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:33:16,748 INFO L93 Difference]: Finished difference Result 215 states and 280 transitions. [2022-04-28 12:33:16,748 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 12:33:16,749 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 7 states have call successors, (27), 2 states have call predecessors, (27), 3 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) Word has length 149 [2022-04-28 12:33:16,749 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 12:33:16,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 7 states have call successors, (27), 2 states have call predecessors, (27), 3 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-28 12:33:16,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 115 transitions. [2022-04-28 12:33:16,750 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 7 states have call successors, (27), 2 states have call predecessors, (27), 3 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-28 12:33:16,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 115 transitions. [2022-04-28 12:33:16,751 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 115 transitions. [2022-04-28 12:33:16,847 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 12:33:16,849 INFO L225 Difference]: With dead ends: 215 [2022-04-28 12:33:16,850 INFO L226 Difference]: Without dead ends: 151 [2022-04-28 12:33:16,850 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 308 GetRequests, 278 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 112 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=214, Invalid=716, Unknown=0, NotChecked=0, Total=930 [2022-04-28 12:33:16,850 INFO L413 NwaCegarLoop]: 64 mSDtfsCounter, 30 mSDsluCounter, 265 mSDsCounter, 0 mSdLazyCounter, 422 mSolverCounterSat, 60 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 329 SdHoareTripleChecker+Invalid, 482 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 60 IncrementalHoareTripleChecker+Valid, 422 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 12:33:16,851 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [30 Valid, 329 Invalid, 482 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [60 Valid, 422 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 12:33:16,851 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2022-04-28 12:33:17,501 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 150. [2022-04-28 12:33:17,501 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 12:33:17,502 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand has 150 states, 81 states have (on average 1.0740740740740742) internal successors, (87), 82 states have internal predecessors, (87), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 12:33:17,502 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand has 150 states, 81 states have (on average 1.0740740740740742) internal successors, (87), 82 states have internal predecessors, (87), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 12:33:17,502 INFO L87 Difference]: Start difference. First operand 151 states. Second operand has 150 states, 81 states have (on average 1.0740740740740742) internal successors, (87), 82 states have internal predecessors, (87), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 12:33:17,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:33:17,505 INFO L93 Difference]: Finished difference Result 151 states and 192 transitions. [2022-04-28 12:33:17,505 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 192 transitions. [2022-04-28 12:33:17,505 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:33:17,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:33:17,506 INFO L74 IsIncluded]: Start isIncluded. First operand has 150 states, 81 states have (on average 1.0740740740740742) internal successors, (87), 82 states have internal predecessors, (87), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 151 states. [2022-04-28 12:33:17,506 INFO L87 Difference]: Start difference. First operand has 150 states, 81 states have (on average 1.0740740740740742) internal successors, (87), 82 states have internal predecessors, (87), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) Second operand 151 states. [2022-04-28 12:33:17,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 12:33:17,508 INFO L93 Difference]: Finished difference Result 151 states and 192 transitions. [2022-04-28 12:33:17,508 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 192 transitions. [2022-04-28 12:33:17,508 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 12:33:17,508 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 12:33:17,508 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 12:33:17,508 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 12:33:17,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 150 states, 81 states have (on average 1.0740740740740742) internal successors, (87), 82 states have internal predecessors, (87), 53 states have call successors, (53), 16 states have call predecessors, (53), 15 states have return successors, (51), 51 states have call predecessors, (51), 51 states have call successors, (51) [2022-04-28 12:33:17,510 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 191 transitions. [2022-04-28 12:33:17,511 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 191 transitions. Word has length 149 [2022-04-28 12:33:17,511 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 12:33:17,511 INFO L495 AbstractCegarLoop]: Abstraction has 150 states and 191 transitions. [2022-04-28 12:33:17,511 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 3.0) internal successors, (36), 11 states have internal predecessors, (36), 7 states have call successors, (27), 2 states have call predecessors, (27), 3 states have return successors, (25), 7 states have call predecessors, (25), 7 states have call successors, (25) [2022-04-28 12:33:17,511 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 150 states and 191 transitions. [2022-04-28 12:33:17,932 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 191 edges. 191 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 12:33:17,932 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 191 transitions. [2022-04-28 12:33:17,933 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 183 [2022-04-28 12:33:17,933 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 12:33:17,933 INFO L195 NwaCegarLoop]: trace histogram [25, 24, 24, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 4, 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] [2022-04-28 12:33:17,949 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Ended with exit code 0 [2022-04-28 12:33:18,133 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-28 12:33:18,134 INFO L420 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 12:33:18,134 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 12:33:18,134 INFO L85 PathProgramCache]: Analyzing trace with hash -804600145, now seen corresponding path program 11 times [2022-04-28 12:33:18,134 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 12:33:18,134 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [638223530] [2022-04-28 12:33:18,134 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 12:33:18,134 INFO L85 PathProgramCache]: Analyzing trace with hash -804600145, now seen corresponding path program 12 times [2022-04-28 12:33:18,134 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 12:33:18,134 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2053899505] [2022-04-28 12:33:18,135 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 12:33:18,135 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 12:33:18,145 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-28 12:33:18,145 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [223822954] [2022-04-28 12:33:18,145 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 12:33:18,146 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 12:33:18,146 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 12:33:18,146 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 12:33:18,148 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-28 12:33:18,862 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-28 12:33:18,862 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 12:33:18,865 INFO L263 TraceCheckSpWp]: Trace formula consists of 344 conjuncts, 62 conjunts are in the unsatisfiable core [2022-04-28 12:33:18,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 12:33:18,904 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 12:33:35,004 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:33:47,410 WARN L232 SmtUtils]: Spent 6.15s on a formula simplification that was a NOOP. DAG size: 39 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-28 12:33:56,932 WARN L828 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-28 12:34:41,172 INFO L272 TraceCheckUtils]: 0: Hoare triple {27723#true} call ULTIMATE.init(); {27723#true} is VALID [2022-04-28 12:34:41,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {27723#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); {27723#true} is VALID [2022-04-28 12:34:41,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,173 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27723#true} {27723#true} #103#return; {27723#true} is VALID [2022-04-28 12:34:41,173 INFO L272 TraceCheckUtils]: 4: Hoare triple {27723#true} call #t~ret6 := main(); {27723#true} is VALID [2022-04-28 12:34:41,173 INFO L290 TraceCheckUtils]: 5: Hoare triple {27723#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;havoc ~c~0;havoc ~k~0;havoc ~xy~0;havoc ~yy~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4; {27723#true} is VALID [2022-04-28 12:34:41,173 INFO L272 TraceCheckUtils]: 6: Hoare triple {27723#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,173 INFO L290 TraceCheckUtils]: 7: Hoare triple {27723#true} ~cond := #in~cond; {27749#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 12:34:41,174 INFO L290 TraceCheckUtils]: 8: Hoare triple {27749#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {27753#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:34:41,174 INFO L290 TraceCheckUtils]: 9: Hoare triple {27753#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {27753#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 12:34:41,174 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27753#(not (= |assume_abort_if_not_#in~cond| 0))} {27723#true} #79#return; {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,175 INFO L290 TraceCheckUtils]: 11: Hoare triple {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,175 INFO L272 TraceCheckUtils]: 12: Hoare triple {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,175 INFO L290 TraceCheckUtils]: 13: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,175 INFO L290 TraceCheckUtils]: 14: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,175 INFO L290 TraceCheckUtils]: 15: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,176 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {27723#true} {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #81#return; {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,176 INFO L272 TraceCheckUtils]: 17: Hoare triple {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,176 INFO L290 TraceCheckUtils]: 18: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,176 INFO L290 TraceCheckUtils]: 19: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,176 INFO L290 TraceCheckUtils]: 20: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,176 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {27723#true} {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #83#return; {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,176 INFO L272 TraceCheckUtils]: 22: Hoare triple {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,176 INFO L290 TraceCheckUtils]: 23: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,176 INFO L290 TraceCheckUtils]: 24: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,176 INFO L290 TraceCheckUtils]: 25: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,177 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {27723#true} {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #85#return; {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,177 INFO L290 TraceCheckUtils]: 27: Hoare triple {27760#(and (<= 0 main_~x~0) (<= main_~x~0 2))} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1;~c~0 := 0;~k~0 := 0;~xy~0 := ~x~0 * ~y~0;~yy~0 := ~y~0 * ~y~0; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,177 INFO L272 TraceCheckUtils]: 28: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,177 INFO L290 TraceCheckUtils]: 29: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,178 INFO L290 TraceCheckUtils]: 30: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,178 INFO L290 TraceCheckUtils]: 31: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,178 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #87#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,178 INFO L272 TraceCheckUtils]: 33: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,178 INFO L290 TraceCheckUtils]: 34: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,178 INFO L290 TraceCheckUtils]: 35: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,179 INFO L290 TraceCheckUtils]: 36: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,179 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #89#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,180 INFO L290 TraceCheckUtils]: 38: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,180 INFO L290 TraceCheckUtils]: 39: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,180 INFO L290 TraceCheckUtils]: 40: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,181 INFO L272 TraceCheckUtils]: 41: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,181 INFO L290 TraceCheckUtils]: 42: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,181 INFO L290 TraceCheckUtils]: 43: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,181 INFO L290 TraceCheckUtils]: 44: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,181 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #91#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,182 INFO L272 TraceCheckUtils]: 46: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,182 INFO L290 TraceCheckUtils]: 47: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,182 INFO L290 TraceCheckUtils]: 48: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,182 INFO L290 TraceCheckUtils]: 49: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,182 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #93#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,183 INFO L272 TraceCheckUtils]: 51: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,183 INFO L290 TraceCheckUtils]: 52: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,183 INFO L290 TraceCheckUtils]: 53: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,183 INFO L290 TraceCheckUtils]: 54: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,183 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #95#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,183 INFO L272 TraceCheckUtils]: 56: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,184 INFO L290 TraceCheckUtils]: 57: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,184 INFO L290 TraceCheckUtils]: 58: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,184 INFO L290 TraceCheckUtils]: 59: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,184 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #97#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,185 INFO L290 TraceCheckUtils]: 61: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,185 INFO L290 TraceCheckUtils]: 62: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,185 INFO L272 TraceCheckUtils]: 63: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,185 INFO L290 TraceCheckUtils]: 64: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,185 INFO L290 TraceCheckUtils]: 65: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,185 INFO L290 TraceCheckUtils]: 66: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,186 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #91#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,186 INFO L272 TraceCheckUtils]: 68: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,186 INFO L290 TraceCheckUtils]: 69: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,186 INFO L290 TraceCheckUtils]: 70: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,186 INFO L290 TraceCheckUtils]: 71: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,187 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #93#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,187 INFO L272 TraceCheckUtils]: 73: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,187 INFO L290 TraceCheckUtils]: 74: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,187 INFO L290 TraceCheckUtils]: 75: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,187 INFO L290 TraceCheckUtils]: 76: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,188 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #95#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,188 INFO L272 TraceCheckUtils]: 78: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,188 INFO L290 TraceCheckUtils]: 79: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,188 INFO L290 TraceCheckUtils]: 80: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,188 INFO L290 TraceCheckUtils]: 81: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,189 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #97#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,189 INFO L290 TraceCheckUtils]: 83: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,190 INFO L290 TraceCheckUtils]: 84: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !false; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,190 INFO L272 TraceCheckUtils]: 85: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,190 INFO L290 TraceCheckUtils]: 86: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,190 INFO L290 TraceCheckUtils]: 87: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,190 INFO L290 TraceCheckUtils]: 88: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,191 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #91#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,191 INFO L272 TraceCheckUtils]: 90: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,191 INFO L290 TraceCheckUtils]: 91: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,191 INFO L290 TraceCheckUtils]: 92: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,191 INFO L290 TraceCheckUtils]: 93: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,192 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #93#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,192 INFO L272 TraceCheckUtils]: 95: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,192 INFO L290 TraceCheckUtils]: 96: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,192 INFO L290 TraceCheckUtils]: 97: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,192 INFO L290 TraceCheckUtils]: 98: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,193 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #95#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,193 INFO L272 TraceCheckUtils]: 100: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,193 INFO L290 TraceCheckUtils]: 101: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,193 INFO L290 TraceCheckUtils]: 102: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,193 INFO L290 TraceCheckUtils]: 103: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,194 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {27723#true} {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} #97#return; {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,194 INFO L290 TraceCheckUtils]: 105: Hoare triple {27812#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} assume !(~c~0 >= ~b~0); {28047#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~p~0 1))} is VALID [2022-04-28 12:34:41,195 INFO L290 TraceCheckUtils]: 106: Hoare triple {28047#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~s~0 1) (<= 0 main_~x~0) (= main_~b~0 main_~y~0) (not (<= main_~b~0 main_~c~0)) (= main_~q~0 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= 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; {28051#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,195 INFO L290 TraceCheckUtils]: 107: Hoare triple {28051#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} assume !false; {28051#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,196 INFO L290 TraceCheckUtils]: 108: Hoare triple {28051#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~a~0 main_~y~0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,196 INFO L290 TraceCheckUtils]: 109: Hoare triple {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} assume !false; {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,196 INFO L272 TraceCheckUtils]: 110: Hoare triple {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,196 INFO L290 TraceCheckUtils]: 111: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,196 INFO L290 TraceCheckUtils]: 112: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,196 INFO L290 TraceCheckUtils]: 113: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,197 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {27723#true} {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #91#return; {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,197 INFO L272 TraceCheckUtils]: 115: Hoare triple {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,197 INFO L290 TraceCheckUtils]: 116: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,197 INFO L290 TraceCheckUtils]: 117: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,197 INFO L290 TraceCheckUtils]: 118: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,198 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {27723#true} {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #93#return; {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,198 INFO L272 TraceCheckUtils]: 120: Hoare triple {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,198 INFO L290 TraceCheckUtils]: 121: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,198 INFO L290 TraceCheckUtils]: 122: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,198 INFO L290 TraceCheckUtils]: 123: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,199 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {27723#true} {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #95#return; {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,199 INFO L272 TraceCheckUtils]: 125: Hoare triple {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,199 INFO L290 TraceCheckUtils]: 126: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,199 INFO L290 TraceCheckUtils]: 127: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,199 INFO L290 TraceCheckUtils]: 128: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,200 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {27723#true} {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #97#return; {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,201 INFO L290 TraceCheckUtils]: 130: Hoare triple {28058#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (= main_~k~0 0) (< main_~b~0 main_~y~0) (= main_~c~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:34:41,201 INFO L290 TraceCheckUtils]: 131: Hoare triple {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !false; {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:34:41,201 INFO L272 TraceCheckUtils]: 132: Hoare triple {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,201 INFO L290 TraceCheckUtils]: 133: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,201 INFO L290 TraceCheckUtils]: 134: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,201 INFO L290 TraceCheckUtils]: 135: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,202 INFO L284 TraceCheckUtils]: 136: Hoare quadruple {27723#true} {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #91#return; {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:34:41,202 INFO L272 TraceCheckUtils]: 137: Hoare triple {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,202 INFO L290 TraceCheckUtils]: 138: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,202 INFO L290 TraceCheckUtils]: 139: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,202 INFO L290 TraceCheckUtils]: 140: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,203 INFO L284 TraceCheckUtils]: 141: Hoare quadruple {27723#true} {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #93#return; {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:34:41,203 INFO L272 TraceCheckUtils]: 142: Hoare triple {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,203 INFO L290 TraceCheckUtils]: 143: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,203 INFO L290 TraceCheckUtils]: 144: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,203 INFO L290 TraceCheckUtils]: 145: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,204 INFO L284 TraceCheckUtils]: 146: Hoare quadruple {27723#true} {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #95#return; {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:34:41,204 INFO L272 TraceCheckUtils]: 147: Hoare triple {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,204 INFO L290 TraceCheckUtils]: 148: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,204 INFO L290 TraceCheckUtils]: 149: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,204 INFO L290 TraceCheckUtils]: 150: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,205 INFO L284 TraceCheckUtils]: 151: Hoare quadruple {27723#true} {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} #97#return; {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} is VALID [2022-04-28 12:34:41,207 INFO L290 TraceCheckUtils]: 152: Hoare triple {28125#(and (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= 0 main_~x~0) (= main_~r~0 1) (= (+ (- 1) main_~k~0) 0) (= main_~q~0 1) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2) (= main_~y~0 (+ main_~c~0 main_~b~0)))} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,208 INFO L290 TraceCheckUtils]: 153: Hoare triple {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} assume !false; {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,208 INFO L272 TraceCheckUtils]: 154: Hoare triple {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,208 INFO L290 TraceCheckUtils]: 155: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,208 INFO L290 TraceCheckUtils]: 156: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,208 INFO L290 TraceCheckUtils]: 157: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,209 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {27723#true} {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #91#return; {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,209 INFO L272 TraceCheckUtils]: 159: Hoare triple {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,209 INFO L290 TraceCheckUtils]: 160: Hoare triple {27723#true} ~cond := #in~cond; {27723#true} is VALID [2022-04-28 12:34:41,209 INFO L290 TraceCheckUtils]: 161: Hoare triple {27723#true} assume !(0 == ~cond); {27723#true} is VALID [2022-04-28 12:34:41,209 INFO L290 TraceCheckUtils]: 162: Hoare triple {27723#true} assume true; {27723#true} is VALID [2022-04-28 12:34:41,210 INFO L284 TraceCheckUtils]: 163: Hoare quadruple {27723#true} {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #93#return; {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,210 INFO L272 TraceCheckUtils]: 164: Hoare triple {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,210 INFO L290 TraceCheckUtils]: 165: Hoare triple {27723#true} ~cond := #in~cond; {28232#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:41,210 INFO L290 TraceCheckUtils]: 166: Hoare triple {28232#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:34:41,210 INFO L290 TraceCheckUtils]: 167: Hoare triple {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:34:41,212 INFO L284 TraceCheckUtils]: 168: Hoare quadruple {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} {28192#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #95#return; {28243#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:41,212 INFO L272 TraceCheckUtils]: 169: Hoare triple {28243#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == ~q~0 * ~xy~0 + ~s~0 * ~yy~0 - ~q~0 * ~x~0 - ~b~0 * ~y~0 - ~s~0 * ~y~0 + ~b~0 then 1 else 0)); {27723#true} is VALID [2022-04-28 12:34:41,212 INFO L290 TraceCheckUtils]: 170: Hoare triple {27723#true} ~cond := #in~cond; {28232#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:41,212 INFO L290 TraceCheckUtils]: 171: Hoare triple {28232#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:34:41,213 INFO L290 TraceCheckUtils]: 172: Hoare triple {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 12:34:43,216 WARN L284 TraceCheckUtils]: 173: Hoare quadruple {28236#(not (= |__VERIFIER_assert_#in~cond| 0))} {28243#(and (<= (* main_~b~0 2) main_~y~0) (<= (* main_~y~0 main_~y~0) main_~yy~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (= main_~xy~0 (* main_~y~0 main_~x~0)) (<= main_~x~0 2))} #97#return; {28259#(and (<= (* main_~b~0 2) main_~y~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~q~0 main_~y~0 main_~x~0) (* main_~y~0 main_~s~0)) 0) (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~q~0 main_~y~0 main_~x~0) (* main_~y~0 main_~s~0)) main_~s~0) 0)) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (<= main_~x~0 2))} is UNKNOWN [2022-04-28 12:34:43,218 INFO L290 TraceCheckUtils]: 174: Hoare triple {28259#(and (<= (* main_~b~0 2) main_~y~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~p~0 0) (< main_~b~0 main_~y~0) (<= main_~y~0 (+ main_~c~0 (* main_~b~0 2))) (<= 0 main_~x~0) (= main_~r~0 1) (or (= (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~q~0 main_~y~0 main_~x~0) (* main_~y~0 main_~s~0)) 0) (= (mod (+ (* main_~b~0 main_~y~0) (* main_~q~0 main_~x~0) (* (- 1) main_~b~0) (* (- 1) main_~q~0 main_~y~0 main_~x~0) (* main_~y~0 main_~s~0)) main_~s~0) 0)) (= main_~q~0 1) (= (+ (- 2) main_~k~0) 0) (<= main_~x~0 2))} assume !(~c~0 >= ~b~0); {28263#(and (< main_~c~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~c~0)) (= main_~p~0 0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~k~0 2) (= main_~q~0 1) (<= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:43,224 INFO L290 TraceCheckUtils]: 175: Hoare triple {28263#(and (< main_~c~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (<= main_~y~0 (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2) main_~c~0)) (= main_~p~0 0) (<= 0 main_~x~0) (= main_~r~0 1) (= main_~k~0 2) (= main_~q~0 1) (<= (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) main_~y~0) (<= main_~x~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; {28267#(and (= 2 (* (- 1) main_~q~0)) (<= 0 main_~x~0) (= (mod (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0)) 0) (< main_~b~0 (+ (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) main_~x~0)) (<= (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2)) main_~y~0) (<= main_~y~0 (+ (* main_~x~0 2) main_~b~0 (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2))) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:43,225 INFO L290 TraceCheckUtils]: 176: Hoare triple {28267#(and (= 2 (* (- 1) main_~q~0)) (<= 0 main_~x~0) (= (mod (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0)) 0) (< main_~b~0 (+ (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) main_~x~0)) (<= (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2)) main_~y~0) (<= main_~y~0 (+ (* main_~x~0 2) main_~b~0 (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2))) (<= main_~x~0 2))} assume !false; {28267#(and (= 2 (* (- 1) main_~q~0)) (<= 0 main_~x~0) (= (mod (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0)) 0) (< main_~b~0 (+ (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) main_~x~0)) (<= (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2)) main_~y~0) (<= main_~y~0 (+ (* main_~x~0 2) main_~b~0 (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2))) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:43,225 INFO L290 TraceCheckUtils]: 177: Hoare triple {28267#(and (= 2 (* (- 1) main_~q~0)) (<= 0 main_~x~0) (= (mod (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0)) 0) (< main_~b~0 (+ (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) main_~x~0)) (<= (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2)) main_~y~0) (<= main_~y~0 (+ (* main_~x~0 2) main_~b~0 (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2))) (<= main_~x~0 2))} assume !(0 != ~b~0); {28274#(and (<= main_~y~0 (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2))) (= 2 (* (- 1) main_~q~0)) (<= 0 main_~x~0) (< 0 (+ (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) main_~x~0)) (= (mod (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0)) 0) (<= (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2)) main_~y~0) (<= main_~x~0 2))} is VALID [2022-04-28 12:34:43,229 INFO L272 TraceCheckUtils]: 178: Hoare triple {28274#(and (<= main_~y~0 (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2))) (= 2 (* (- 1) main_~q~0)) (<= 0 main_~x~0) (< 0 (+ (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) main_~x~0)) (= (mod (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0)) 0) (<= (+ (* main_~x~0 2) (* (* main_~y~0 (div (+ (* (- 1) main_~s~0) 1) (* (- 1) main_~q~0))) 2)) main_~y~0) (<= main_~x~0 2))} call __VERIFIER_assert((if 0 == ~q~0 * ~x~0 + ~s~0 * ~y~0 then 1 else 0)); {28278#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 12:34:43,230 INFO L290 TraceCheckUtils]: 179: Hoare triple {28278#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {28282#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 12:34:43,230 INFO L290 TraceCheckUtils]: 180: Hoare triple {28282#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27724#false} is VALID [2022-04-28 12:34:43,230 INFO L290 TraceCheckUtils]: 181: Hoare triple {27724#false} assume !false; {27724#false} is VALID [2022-04-28 12:34:43,231 INFO L134 CoverageAnalysis]: Checked inductivity of 1309 backedges. 178 proven. 96 refuted. 0 times theorem prover too weak. 1035 trivial. 0 not checked. [2022-04-28 12:34:43,231 INFO L328 TraceCheckSpWp]: Computing backward predicates...