/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-34549b5 [2022-04-08 12:20:47,628 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 12:20:47,629 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 12:20:47,663 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 12:20:47,664 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 12:20:47,665 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 12:20:47,667 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 12:20:47,669 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 12:20:47,670 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 12:20:47,673 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 12:20:47,673 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 12:20:47,674 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 12:20:47,674 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 12:20:47,676 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 12:20:47,676 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 12:20:47,678 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 12:20:47,679 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 12:20:47,679 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 12:20:47,681 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 12:20:47,685 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 12:20:47,686 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 12:20:47,687 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 12:20:47,687 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 12:20:47,688 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 12:20:47,689 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 12:20:47,693 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 12:20:47,693 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 12:20:47,693 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 12:20:47,694 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 12:20:47,694 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 12:20:47,695 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 12:20:47,695 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 12:20:47,696 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 12:20:47,696 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 12:20:47,697 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 12:20:47,697 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 12:20:47,697 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 12:20:47,698 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 12:20:47,698 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 12:20:47,698 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 12:20:47,698 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 12:20:47,699 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 12:20:47,700 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationQvasr_64.epf [2022-04-08 12:20:47,706 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 12:20:47,707 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 12:20:47,707 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 12:20:47,708 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 12:20:47,708 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 12:20:47,708 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 12:20:47,708 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 12:20:47,708 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 12:20:47,708 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 12:20:47,708 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 12:20:47,709 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 12:20:47,709 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 12:20:47,709 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 12:20:47,709 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 12:20:47,709 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 12:20:47,709 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:20:47,709 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 12:20:47,709 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 12:20:47,709 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 12:20:47,709 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 12:20:47,709 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 12:20:47,710 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=QVASR [2022-04-08 12:20:47,710 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-08 12:20:47,881 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 12:20:47,903 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 12:20:47,904 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 12:20:47,905 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 12:20:47,905 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 12:20:47,906 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-08 12:20:47,963 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bd07a1d66/9ca0154f674a4ce29ba09ec17ed6bf1c/FLAG3ba24ce18 [2022-04-08 12:20:48,344 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 12:20:48,344 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd2-ll_valuebound2.c [2022-04-08 12:20:48,352 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bd07a1d66/9ca0154f674a4ce29ba09ec17ed6bf1c/FLAG3ba24ce18 [2022-04-08 12:20:48,363 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/bd07a1d66/9ca0154f674a4ce29ba09ec17ed6bf1c [2022-04-08 12:20:48,365 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 12:20:48,366 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 12:20:48,368 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 12:20:48,368 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 12:20:48,371 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 12:20:48,372 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:20:48" (1/1) ... [2022-04-08 12:20:48,373 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5e701fb2 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:20:48, skipping insertion in model container [2022-04-08 12:20:48,373 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 12:20:48" (1/1) ... [2022-04-08 12:20:48,377 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 12:20:48,388 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 12:20:48,511 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-08 12:20:48,543 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:20:48,548 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 12:20:48,560 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-08 12:20:48,581 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 12:20:48,589 INFO L208 MainTranslator]: Completed translation [2022-04-08 12:20:48,589 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:20:48 WrapperNode [2022-04-08 12:20:48,589 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 12:20:48,590 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 12:20:48,590 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 12:20:48,590 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 12:20:48,600 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:20:48" (1/1) ... [2022-04-08 12:20:48,600 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:20:48" (1/1) ... [2022-04-08 12:20:48,610 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:20:48" (1/1) ... [2022-04-08 12:20:48,610 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:20:48" (1/1) ... [2022-04-08 12:20:48,622 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:20:48" (1/1) ... [2022-04-08 12:20:48,628 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:20:48" (1/1) ... [2022-04-08 12:20:48,629 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:20:48" (1/1) ... [2022-04-08 12:20:48,633 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 12:20:48,634 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 12:20:48,634 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 12:20:48,634 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 12:20:48,639 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:20:48" (1/1) ... [2022-04-08 12:20:48,652 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 12:20:48,658 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:20:48,666 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-08 12:20:48,674 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-08 12:20:48,694 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 12:20:48,694 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 12:20:48,694 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 12:20:48,694 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 12:20:48,694 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 12:20:48,695 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 12:20:48,695 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 12:20:48,695 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 12:20:48,695 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 12:20:48,695 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 12:20:48,695 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 12:20:48,696 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 12:20:48,696 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 12:20:48,696 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 12:20:48,696 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 12:20:48,698 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 12:20:48,698 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 12:20:48,698 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 12:20:48,698 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 12:20:48,698 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 12:20:48,743 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 12:20:48,744 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 12:20:48,994 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 12:20:48,999 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 12:20:48,999 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-08 12:20:49,000 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:20:49 BoogieIcfgContainer [2022-04-08 12:20:49,000 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 12:20:49,001 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 12:20:49,001 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 12:20:49,017 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 12:20:49,017 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 12:20:48" (1/3) ... [2022-04-08 12:20:49,018 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@be92efd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:20:49, skipping insertion in model container [2022-04-08 12:20:49,018 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 12:20:48" (2/3) ... [2022-04-08 12:20:49,018 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@be92efd and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 12:20:49, skipping insertion in model container [2022-04-08 12:20:49,018 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 12:20:49" (3/3) ... [2022-04-08 12:20:49,019 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd2-ll_valuebound2.c [2022-04-08 12:20:49,022 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 12:20:49,022 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 12:20:49,057 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 12:20:49,065 INFO L340 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 [2022-04-08 12:20:49,065 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 12:20:49,079 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-08 12:20:49,084 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 12:20:49,084 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:20:49,085 INFO L499 BasicCegarLoop]: 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-08 12:20:49,086 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:20:49,089 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:20:49,090 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 1 times [2022-04-08 12:20:49,095 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:49,095 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1172288517] [2022-04-08 12:20:49,101 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:20:49,102 INFO L85 PathProgramCache]: Analyzing trace with hash -587582002, now seen corresponding path program 2 times [2022-04-08 12:20:49,105 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:20:49,105 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1321055524] [2022-04-08 12:20:49,105 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:20:49,106 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:20:49,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:49,260 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 12:20:49,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:49,286 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-08 12:20:49,286 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-08 12:20:49,287 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-08 12:20:49,287 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 12:20:49,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:49,321 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:20:49,322 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:20:49,322 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:20:49,322 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-08 12:20:49,322 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-08 12:20:49,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:49,333 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:20:49,334 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:20:49,334 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:20:49,334 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-08 12:20:49,334 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-08 12:20:49,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:49,343 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:20:49,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:20:49,344 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:20:49,344 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-08 12:20:49,344 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 22 [2022-04-08 12:20:49,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:49,354 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:20:49,355 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:20:49,356 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:20:49,356 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-08 12:20:49,356 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 28 [2022-04-08 12:20:49,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:49,363 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:20:49,364 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:20:49,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:20:49,364 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-08 12:20:49,364 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 33 [2022-04-08 12:20:49,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:49,375 INFO L290 TraceCheckUtils]: 0: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:20:49,376 INFO L290 TraceCheckUtils]: 1: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:20:49,376 INFO L290 TraceCheckUtils]: 2: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:20:49,376 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-08 12:20:49,377 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-08 12:20:49,377 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-08 12:20:49,377 INFO L290 TraceCheckUtils]: 2: Hoare triple {43#true} assume true; {43#true} is VALID [2022-04-08 12:20:49,377 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {43#true} {43#true} #103#return; {43#true} is VALID [2022-04-08 12:20:49,378 INFO L272 TraceCheckUtils]: 4: Hoare triple {43#true} call #t~ret6 := main(); {43#true} is VALID [2022-04-08 12:20:49,378 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-08 12:20:49,378 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-08 12:20:49,378 INFO L290 TraceCheckUtils]: 7: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:20:49,380 INFO L290 TraceCheckUtils]: 8: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:20:49,380 INFO L290 TraceCheckUtils]: 9: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:20:49,380 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {44#false} {43#true} #79#return; {44#false} is VALID [2022-04-08 12:20:49,381 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-08 12:20:49,381 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-08 12:20:49,381 INFO L290 TraceCheckUtils]: 13: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:20:49,384 INFO L290 TraceCheckUtils]: 14: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:20:49,384 INFO L290 TraceCheckUtils]: 15: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:20:49,384 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {44#false} {44#false} #81#return; {44#false} is VALID [2022-04-08 12:20:49,385 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-08 12:20:49,385 INFO L290 TraceCheckUtils]: 18: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:20:49,386 INFO L290 TraceCheckUtils]: 19: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:20:49,386 INFO L290 TraceCheckUtils]: 20: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:20:49,386 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {44#false} {44#false} #83#return; {44#false} is VALID [2022-04-08 12:20:49,386 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-08 12:20:49,386 INFO L290 TraceCheckUtils]: 23: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:20:49,391 INFO L290 TraceCheckUtils]: 24: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:20:49,391 INFO L290 TraceCheckUtils]: 25: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:20:49,391 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {44#false} {44#false} #85#return; {44#false} is VALID [2022-04-08 12:20:49,392 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-08 12:20:49,392 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-08 12:20:49,392 INFO L290 TraceCheckUtils]: 29: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:20:49,392 INFO L290 TraceCheckUtils]: 30: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:20:49,392 INFO L290 TraceCheckUtils]: 31: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:20:49,393 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {44#false} {44#false} #87#return; {44#false} is VALID [2022-04-08 12:20:49,393 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-08 12:20:49,393 INFO L290 TraceCheckUtils]: 34: Hoare triple {43#true} ~cond := #in~cond; {43#true} is VALID [2022-04-08 12:20:49,393 INFO L290 TraceCheckUtils]: 35: Hoare triple {43#true} assume 0 == ~cond;assume false; {44#false} is VALID [2022-04-08 12:20:49,393 INFO L290 TraceCheckUtils]: 36: Hoare triple {44#false} assume true; {44#false} is VALID [2022-04-08 12:20:49,393 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {44#false} {44#false} #89#return; {44#false} is VALID [2022-04-08 12:20:49,394 INFO L290 TraceCheckUtils]: 38: Hoare triple {44#false} assume !true; {44#false} is VALID [2022-04-08 12:20:49,394 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-08 12:20:49,394 INFO L290 TraceCheckUtils]: 40: Hoare triple {44#false} ~cond := #in~cond; {44#false} is VALID [2022-04-08 12:20:49,394 INFO L290 TraceCheckUtils]: 41: Hoare triple {44#false} assume 0 == ~cond; {44#false} is VALID [2022-04-08 12:20:49,394 INFO L290 TraceCheckUtils]: 42: Hoare triple {44#false} assume !false; {44#false} is VALID [2022-04-08 12:20:49,395 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-08 12:20:49,395 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:20:49,395 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1321055524] [2022-04-08 12:20:49,396 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1321055524] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:49,396 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:49,396 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:20:49,397 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:20:49,398 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1172288517] [2022-04-08 12:20:49,398 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1172288517] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:49,398 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:49,398 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 12:20:49,398 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [900552397] [2022-04-08 12:20:49,398 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:20:49,402 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-08 12:20:49,403 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:20:49,405 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-08 12:20:49,443 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-08 12:20:49,443 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 12:20:49,443 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:49,459 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 12:20:49,460 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 12:20:49,463 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-08 12:20:49,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:49,609 INFO L93 Difference]: Finished difference Result 73 states and 118 transitions. [2022-04-08 12:20:49,610 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 12:20:49,610 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-08 12:20:49,610 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:20:49,611 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-08 12:20:49,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-08 12:20:49,618 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-08 12:20:49,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 118 transitions. [2022-04-08 12:20:49,623 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 118 transitions. [2022-04-08 12:20:49,736 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-08 12:20:49,742 INFO L225 Difference]: With dead ends: 73 [2022-04-08 12:20:49,742 INFO L226 Difference]: Without dead ends: 35 [2022-04-08 12:20:49,744 INFO L912 BasicCegarLoop]: 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-08 12:20:49,746 INFO L913 BasicCegarLoop]: 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-08 12:20:49,747 INFO L914 BasicCegarLoop]: 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-08 12:20:49,756 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 35 states. [2022-04-08 12:20:49,766 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 35 to 35. [2022-04-08 12:20:49,766 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:20:49,767 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-08 12:20:49,767 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-08 12:20:49,768 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-08 12:20:49,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:49,771 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-08 12:20:49,771 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-08 12:20:49,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:49,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:49,772 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-08 12:20:49,772 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-08 12:20:49,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:49,775 INFO L93 Difference]: Finished difference Result 35 states and 46 transitions. [2022-04-08 12:20:49,775 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-08 12:20:49,776 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:49,776 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:49,776 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:20:49,776 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:20:49,777 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-08 12:20:49,779 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 46 transitions. [2022-04-08 12:20:49,779 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 46 transitions. Word has length 43 [2022-04-08 12:20:49,780 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:20:49,780 INFO L478 AbstractCegarLoop]: Abstraction has 35 states and 46 transitions. [2022-04-08 12:20:49,780 INFO L479 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-08 12:20:49,780 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 35 states and 46 transitions. [2022-04-08 12:20:49,821 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-08 12:20:49,821 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 46 transitions. [2022-04-08 12:20:49,822 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-08 12:20:49,822 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:20:49,822 INFO L499 BasicCegarLoop]: 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-08 12:20:49,822 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 12:20:49,822 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:20:49,823 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:20:49,823 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 1 times [2022-04-08 12:20:49,823 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:49,823 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1865322033] [2022-04-08 12:20:49,823 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:20:49,824 INFO L85 PathProgramCache]: Analyzing trace with hash 987777007, now seen corresponding path program 2 times [2022-04-08 12:20:49,824 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:20:49,824 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1280713263] [2022-04-08 12:20:49,824 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:20:49,824 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:20:49,846 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:20:49,847 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1173951412] [2022-04-08 12:20:49,847 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:20:49,847 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:20:49,847 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:20:49,850 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-08 12:20:49,851 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-08 12:20:49,901 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:20:49,901 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:20:49,902 INFO L263 TraceCheckSpWp]: Trace formula consists of 133 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 12:20:49,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:49,937 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:20:50,123 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-08 12:20:50,123 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-08 12:20:50,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:20:50,123 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-08 12:20:50,124 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-08 12:20:50,124 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-08 12:20:50,124 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-08 12:20:50,124 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:20:50,124 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:20:50,124 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:20:50,125 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-08 12:20:50,125 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-08 12:20:50,125 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-08 12:20:50,125 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:20:50,125 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:20:50,125 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:20:50,126 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-08 12:20:50,126 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-08 12:20:50,126 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:20:50,126 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:20:50,126 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:20:50,126 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-08 12:20:50,126 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-08 12:20:50,127 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-08 12:20:50,127 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-08 12:20:50,128 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-08 12:20:50,128 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-08 12:20:50,129 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-08 12:20:50,129 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-08 12:20:50,129 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:20:50,129 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:20:50,130 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:20:50,130 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:20:50,130 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-08 12:20:50,130 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:20:50,131 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:20:50,131 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:20:50,131 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:20:50,132 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:20:50,132 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-08 12:20:50,132 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-08 12:20:50,132 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-08 12:20:50,133 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-08 12:20:50,133 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-08 12:20:50,133 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-08 12:20:50,133 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:20:50,338 INFO L290 TraceCheckUtils]: 43: Hoare triple {362#false} assume !false; {362#false} is VALID [2022-04-08 12:20:50,338 INFO L290 TraceCheckUtils]: 42: Hoare triple {362#false} assume 0 == ~cond; {362#false} is VALID [2022-04-08 12:20:50,339 INFO L290 TraceCheckUtils]: 41: Hoare triple {362#false} ~cond := #in~cond; {362#false} is VALID [2022-04-08 12:20:50,339 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-08 12:20:50,339 INFO L290 TraceCheckUtils]: 39: Hoare triple {450#(<= 1 main_~b~0)} assume !(0 != ~b~0); {362#false} is VALID [2022-04-08 12:20:50,340 INFO L290 TraceCheckUtils]: 38: Hoare triple {450#(<= 1 main_~b~0)} assume !false; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:20:50,340 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #89#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:20:50,341 INFO L290 TraceCheckUtils]: 36: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:20:50,341 INFO L290 TraceCheckUtils]: 35: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:20:50,341 INFO L290 TraceCheckUtils]: 34: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:20:50,341 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-08 12:20:50,342 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {361#true} {450#(<= 1 main_~b~0)} #87#return; {450#(<= 1 main_~b~0)} is VALID [2022-04-08 12:20:50,342 INFO L290 TraceCheckUtils]: 31: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:20:50,342 INFO L290 TraceCheckUtils]: 30: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:20:50,342 INFO L290 TraceCheckUtils]: 29: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:20:50,342 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-08 12:20:50,343 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-08 12:20:50,343 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-08 12:20:50,344 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-08 12:20:50,344 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-08 12:20:50,344 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-08 12:20:50,345 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-08 12:20:50,345 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {361#true} {361#true} #83#return; {361#true} is VALID [2022-04-08 12:20:50,345 INFO L290 TraceCheckUtils]: 20: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:20:50,345 INFO L290 TraceCheckUtils]: 19: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:20:50,345 INFO L290 TraceCheckUtils]: 18: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:20:50,345 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-08 12:20:50,346 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {361#true} {361#true} #81#return; {361#true} is VALID [2022-04-08 12:20:50,346 INFO L290 TraceCheckUtils]: 15: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:20:50,346 INFO L290 TraceCheckUtils]: 14: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:20:50,346 INFO L290 TraceCheckUtils]: 13: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:20:50,346 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-08 12:20:50,346 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-08 12:20:50,346 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {361#true} {361#true} #79#return; {361#true} is VALID [2022-04-08 12:20:50,347 INFO L290 TraceCheckUtils]: 9: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:20:50,347 INFO L290 TraceCheckUtils]: 8: Hoare triple {361#true} assume !(0 == ~cond); {361#true} is VALID [2022-04-08 12:20:50,347 INFO L290 TraceCheckUtils]: 7: Hoare triple {361#true} ~cond := #in~cond; {361#true} is VALID [2022-04-08 12:20:50,347 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-08 12:20:50,347 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-08 12:20:50,347 INFO L272 TraceCheckUtils]: 4: Hoare triple {361#true} call #t~ret6 := main(); {361#true} is VALID [2022-04-08 12:20:50,347 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {361#true} {361#true} #103#return; {361#true} is VALID [2022-04-08 12:20:50,348 INFO L290 TraceCheckUtils]: 2: Hoare triple {361#true} assume true; {361#true} is VALID [2022-04-08 12:20:50,348 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-08 12:20:50,348 INFO L272 TraceCheckUtils]: 0: Hoare triple {361#true} call ULTIMATE.init(); {361#true} is VALID [2022-04-08 12:20:50,348 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-08 12:20:50,348 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:20:50,348 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1280713263] [2022-04-08 12:20:50,349 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:20:50,349 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1173951412] [2022-04-08 12:20:50,349 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1173951412] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:20:50,349 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:20:50,349 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 7 [2022-04-08 12:20:50,350 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:20:50,350 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1865322033] [2022-04-08 12:20:50,350 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1865322033] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:50,350 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:50,350 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-08 12:20:50,350 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [434899057] [2022-04-08 12:20:50,350 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:20:50,351 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-08 12:20:50,351 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:20:50,351 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-08 12:20:50,372 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-08 12:20:50,372 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-08 12:20:50,373 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:50,373 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-08 12:20:50,373 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 12:20:50,373 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-08 12:20:50,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:50,640 INFO L93 Difference]: Finished difference Result 52 states and 69 transitions. [2022-04-08 12:20:50,640 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 12:20:50,640 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-08 12:20:50,647 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:20:50,647 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-08 12:20:50,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-08 12:20:50,662 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-08 12:20:50,664 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 69 transitions. [2022-04-08 12:20:50,664 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 69 transitions. [2022-04-08 12:20:50,715 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-08 12:20:50,716 INFO L225 Difference]: With dead ends: 52 [2022-04-08 12:20:50,717 INFO L226 Difference]: Without dead ends: 44 [2022-04-08 12:20:50,717 INFO L912 BasicCegarLoop]: 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-08 12:20:50,718 INFO L913 BasicCegarLoop]: 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-08 12:20:50,718 INFO L914 BasicCegarLoop]: 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-08 12:20:50,719 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2022-04-08 12:20:50,735 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 37. [2022-04-08 12:20:50,735 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:20:50,736 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-08 12:20:50,736 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-08 12:20:50,736 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-08 12:20:50,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:50,739 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-08 12:20:50,739 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-08 12:20:50,740 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:50,740 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:50,741 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-08 12:20:50,741 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-08 12:20:50,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:50,754 INFO L93 Difference]: Finished difference Result 44 states and 60 transitions. [2022-04-08 12:20:50,755 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 60 transitions. [2022-04-08 12:20:50,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:50,755 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:50,755 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:20:50,756 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:20:50,756 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-08 12:20:50,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 48 transitions. [2022-04-08 12:20:50,758 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 48 transitions. Word has length 44 [2022-04-08 12:20:50,758 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:20:50,758 INFO L478 AbstractCegarLoop]: Abstraction has 37 states and 48 transitions. [2022-04-08 12:20:50,758 INFO L479 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-08 12:20:50,759 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 37 states and 48 transitions. [2022-04-08 12:20:50,818 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-08 12:20:50,818 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 48 transitions. [2022-04-08 12:20:50,823 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-08 12:20:50,823 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:20:50,823 INFO L499 BasicCegarLoop]: 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-08 12:20:50,853 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-08 12:20:51,035 WARN L460 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-08 12:20:51,036 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:20:51,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:20:51,036 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 1 times [2022-04-08 12:20:51,036 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:51,036 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1118427457] [2022-04-08 12:20:51,037 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:20:51,037 INFO L85 PathProgramCache]: Analyzing trace with hash 561616070, now seen corresponding path program 2 times [2022-04-08 12:20:51,037 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:20:51,037 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [314561642] [2022-04-08 12:20:51,037 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:20:51,038 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:20:51,051 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:20:51,051 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [841554338] [2022-04-08 12:20:51,052 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:20:51,052 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:20:51,052 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:20:51,053 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-08 12:20:51,054 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-08 12:20:51,097 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 12:20:51,098 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:20:51,099 INFO L263 TraceCheckSpWp]: Trace formula consists of 68 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-08 12:20:51,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:51,109 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:20:51,223 INFO L272 TraceCheckUtils]: 0: Hoare triple {901#true} call ULTIMATE.init(); {901#true} is VALID [2022-04-08 12:20:51,224 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-08 12:20:51,224 INFO L290 TraceCheckUtils]: 2: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:20:51,224 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {901#true} {901#true} #103#return; {901#true} is VALID [2022-04-08 12:20:51,224 INFO L272 TraceCheckUtils]: 4: Hoare triple {901#true} call #t~ret6 := main(); {901#true} is VALID [2022-04-08 12:20:51,225 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-08 12:20:51,225 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-08 12:20:51,225 INFO L290 TraceCheckUtils]: 7: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:20:51,225 INFO L290 TraceCheckUtils]: 8: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:20:51,225 INFO L290 TraceCheckUtils]: 9: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:20:51,225 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {901#true} {901#true} #79#return; {901#true} is VALID [2022-04-08 12:20:51,226 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-08 12:20:51,226 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-08 12:20:51,226 INFO L290 TraceCheckUtils]: 13: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:20:51,226 INFO L290 TraceCheckUtils]: 14: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:20:51,227 INFO L290 TraceCheckUtils]: 15: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:20:51,228 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {901#true} {901#true} #81#return; {901#true} is VALID [2022-04-08 12:20:51,228 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-08 12:20:51,228 INFO L290 TraceCheckUtils]: 18: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:20:51,228 INFO L290 TraceCheckUtils]: 19: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:20:51,229 INFO L290 TraceCheckUtils]: 20: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:20:51,229 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {901#true} {901#true} #83#return; {901#true} is VALID [2022-04-08 12:20:51,229 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-08 12:20:51,229 INFO L290 TraceCheckUtils]: 23: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:20:51,229 INFO L290 TraceCheckUtils]: 24: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:20:51,230 INFO L290 TraceCheckUtils]: 25: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:20:51,230 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {901#true} {901#true} #85#return; {901#true} is VALID [2022-04-08 12:20:51,230 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-08 12:20:51,230 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-08 12:20:51,230 INFO L290 TraceCheckUtils]: 29: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:20:51,230 INFO L290 TraceCheckUtils]: 30: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:20:51,230 INFO L290 TraceCheckUtils]: 31: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:20:51,231 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {901#true} {901#true} #87#return; {901#true} is VALID [2022-04-08 12:20:51,231 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-08 12:20:51,231 INFO L290 TraceCheckUtils]: 34: Hoare triple {901#true} ~cond := #in~cond; {901#true} is VALID [2022-04-08 12:20:51,231 INFO L290 TraceCheckUtils]: 35: Hoare triple {901#true} assume !(0 == ~cond); {901#true} is VALID [2022-04-08 12:20:51,231 INFO L290 TraceCheckUtils]: 36: Hoare triple {901#true} assume true; {901#true} is VALID [2022-04-08 12:20:51,231 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {901#true} {901#true} #89#return; {901#true} is VALID [2022-04-08 12:20:51,231 INFO L290 TraceCheckUtils]: 38: Hoare triple {901#true} assume !false; {901#true} is VALID [2022-04-08 12:20:51,232 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-08 12:20:51,232 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-08 12:20:51,233 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-08 12:20:51,234 INFO L290 TraceCheckUtils]: 42: Hoare triple {1030#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1034#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:20:51,234 INFO L290 TraceCheckUtils]: 43: Hoare triple {1034#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {902#false} is VALID [2022-04-08 12:20:51,234 INFO L290 TraceCheckUtils]: 44: Hoare triple {902#false} assume !false; {902#false} is VALID [2022-04-08 12:20:51,235 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-08 12:20:51,235 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:20:51,235 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:20:51,235 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [314561642] [2022-04-08 12:20:51,235 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:20:51,235 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [841554338] [2022-04-08 12:20:51,236 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [841554338] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:51,236 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:51,236 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:20:51,236 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:20:51,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1118427457] [2022-04-08 12:20:51,236 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1118427457] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:51,236 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:51,236 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:20:51,237 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1238076704] [2022-04-08 12:20:51,237 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:20:51,238 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-08 12:20:51,239 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:20:51,239 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-08 12:20:51,257 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-08 12:20:51,257 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:20:51,258 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:51,258 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:20:51,258 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:20:51,259 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-08 12:20:51,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:51,437 INFO L93 Difference]: Finished difference Result 50 states and 65 transitions. [2022-04-08 12:20:51,437 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:20:51,438 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-08 12:20:51,438 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:20:51,438 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-08 12:20:51,440 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 12:20:51,440 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-08 12:20:51,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-04-08 12:20:51,441 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-04-08 12:20:51,483 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-08 12:20:51,484 INFO L225 Difference]: With dead ends: 50 [2022-04-08 12:20:51,485 INFO L226 Difference]: Without dead ends: 48 [2022-04-08 12:20:51,485 INFO L912 BasicCegarLoop]: 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-08 12:20:51,486 INFO L913 BasicCegarLoop]: 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-08 12:20:51,486 INFO L914 BasicCegarLoop]: 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-08 12:20:51,486 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2022-04-08 12:20:51,506 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 43. [2022-04-08 12:20:51,506 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:20:51,506 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-08 12:20:51,507 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-08 12:20:51,507 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-08 12:20:51,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:51,509 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-08 12:20:51,509 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-08 12:20:51,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:51,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:51,510 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-08 12:20:51,510 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-08 12:20:51,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:51,512 INFO L93 Difference]: Finished difference Result 48 states and 63 transitions. [2022-04-08 12:20:51,512 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 63 transitions. [2022-04-08 12:20:51,512 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:51,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:51,512 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:20:51,512 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:20:51,513 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-08 12:20:51,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 54 transitions. [2022-04-08 12:20:51,514 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 54 transitions. Word has length 45 [2022-04-08 12:20:51,514 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:20:51,514 INFO L478 AbstractCegarLoop]: Abstraction has 43 states and 54 transitions. [2022-04-08 12:20:51,515 INFO L479 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-08 12:20:51,515 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 43 states and 54 transitions. [2022-04-08 12:20:51,559 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-08 12:20:51,559 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 54 transitions. [2022-04-08 12:20:51,560 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 12:20:51,560 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:20:51,560 INFO L499 BasicCegarLoop]: 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-08 12:20:51,578 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-08 12:20:51,775 WARN L460 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-08 12:20:51,776 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:20:51,776 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:20:51,776 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 1 times [2022-04-08 12:20:51,776 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:51,776 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1139893456] [2022-04-08 12:20:51,777 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:20:51,777 INFO L85 PathProgramCache]: Analyzing trace with hash -680064098, now seen corresponding path program 2 times [2022-04-08 12:20:51,777 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:20:51,777 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [373167603] [2022-04-08 12:20:51,777 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:20:51,777 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:20:51,793 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:20:51,794 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1186769790] [2022-04-08 12:20:51,794 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:20:51,794 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:20:51,794 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:20:51,795 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-08 12:20:51,796 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-08 12:20:51,833 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:20:51,834 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:20:51,834 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 12:20:51,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:51,845 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:20:51,982 INFO L272 TraceCheckUtils]: 0: Hoare triple {1324#true} call ULTIMATE.init(); {1324#true} is VALID [2022-04-08 12:20:51,983 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-08 12:20:51,983 INFO L290 TraceCheckUtils]: 2: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:20:51,983 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1324#true} {1324#true} #103#return; {1324#true} is VALID [2022-04-08 12:20:51,983 INFO L272 TraceCheckUtils]: 4: Hoare triple {1324#true} call #t~ret6 := main(); {1324#true} is VALID [2022-04-08 12:20:51,983 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-08 12:20:51,983 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-08 12:20:51,983 INFO L290 TraceCheckUtils]: 7: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:20:51,984 INFO L290 TraceCheckUtils]: 8: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:20:51,984 INFO L290 TraceCheckUtils]: 9: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:20:51,984 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1324#true} {1324#true} #79#return; {1324#true} is VALID [2022-04-08 12:20:51,984 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-08 12:20:51,984 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-08 12:20:51,984 INFO L290 TraceCheckUtils]: 13: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:20:51,984 INFO L290 TraceCheckUtils]: 14: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:20:51,984 INFO L290 TraceCheckUtils]: 15: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:20:51,985 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {1324#true} {1324#true} #81#return; {1324#true} is VALID [2022-04-08 12:20:51,985 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-08 12:20:51,985 INFO L290 TraceCheckUtils]: 18: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:20:51,985 INFO L290 TraceCheckUtils]: 19: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:20:51,985 INFO L290 TraceCheckUtils]: 20: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:20:51,985 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {1324#true} {1324#true} #83#return; {1324#true} is VALID [2022-04-08 12:20:51,985 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-08 12:20:51,985 INFO L290 TraceCheckUtils]: 23: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:20:51,986 INFO L290 TraceCheckUtils]: 24: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:20:51,986 INFO L290 TraceCheckUtils]: 25: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:20:51,986 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {1324#true} {1324#true} #85#return; {1324#true} is VALID [2022-04-08 12:20:51,987 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-08 12:20:51,987 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-08 12:20:51,987 INFO L290 TraceCheckUtils]: 29: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:20:51,987 INFO L290 TraceCheckUtils]: 30: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:20:51,988 INFO L290 TraceCheckUtils]: 31: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:20:51,988 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-08 12:20:51,988 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-08 12:20:51,989 INFO L290 TraceCheckUtils]: 34: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:20:51,989 INFO L290 TraceCheckUtils]: 35: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:20:51,989 INFO L290 TraceCheckUtils]: 36: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:20:51,989 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-08 12:20:51,990 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-08 12:20:51,990 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-08 12:20:51,995 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-08 12:20:51,995 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-08 12:20:51,995 INFO L290 TraceCheckUtils]: 42: Hoare triple {1324#true} ~cond := #in~cond; {1324#true} is VALID [2022-04-08 12:20:51,995 INFO L290 TraceCheckUtils]: 43: Hoare triple {1324#true} assume !(0 == ~cond); {1324#true} is VALID [2022-04-08 12:20:51,995 INFO L290 TraceCheckUtils]: 44: Hoare triple {1324#true} assume true; {1324#true} is VALID [2022-04-08 12:20:51,999 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-08 12:20:52,000 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-08 12:20:52,001 INFO L290 TraceCheckUtils]: 47: Hoare triple {1468#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1472#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:20:52,001 INFO L290 TraceCheckUtils]: 48: Hoare triple {1472#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1325#false} is VALID [2022-04-08 12:20:52,004 INFO L290 TraceCheckUtils]: 49: Hoare triple {1325#false} assume !false; {1325#false} is VALID [2022-04-08 12:20:52,005 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-08 12:20:52,005 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:20:52,005 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:20:52,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [373167603] [2022-04-08 12:20:52,005 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:20:52,005 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1186769790] [2022-04-08 12:20:52,005 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1186769790] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:52,005 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:52,005 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:20:52,006 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:20:52,006 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1139893456] [2022-04-08 12:20:52,008 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1139893456] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:20:52,008 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:20:52,008 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:20:52,008 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1173794427] [2022-04-08 12:20:52,008 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:20:52,009 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-08 12:20:52,009 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:20:52,009 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-08 12:20:52,041 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-08 12:20:52,042 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:20:52,042 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:52,043 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:20:52,043 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:20:52,043 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-08 12:20:52,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:52,220 INFO L93 Difference]: Finished difference Result 58 states and 74 transitions. [2022-04-08 12:20:52,220 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:20:52,220 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-08 12:20:52,220 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:20:52,221 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-08 12:20:52,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:20:52,222 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-08 12:20:52,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-04-08 12:20:52,223 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-04-08 12:20:52,261 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-08 12:20:52,262 INFO L225 Difference]: With dead ends: 58 [2022-04-08 12:20:52,262 INFO L226 Difference]: Without dead ends: 56 [2022-04-08 12:20:52,263 INFO L912 BasicCegarLoop]: 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-08 12:20:52,263 INFO L913 BasicCegarLoop]: 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-08 12:20:52,264 INFO L914 BasicCegarLoop]: 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-08 12:20:52,264 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-08 12:20:52,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 55. [2022-04-08 12:20:52,291 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:20:52,292 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-08 12:20:52,292 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-08 12:20:52,292 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-08 12:20:52,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:52,295 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-08 12:20:52,295 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-08 12:20:52,295 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:52,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:52,295 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-08 12:20:52,296 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-08 12:20:52,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:20:52,298 INFO L93 Difference]: Finished difference Result 56 states and 72 transitions. [2022-04-08 12:20:52,298 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 72 transitions. [2022-04-08 12:20:52,298 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:20:52,298 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:20:52,298 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:20:52,298 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:20:52,298 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-08 12:20:52,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 71 transitions. [2022-04-08 12:20:52,300 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 71 transitions. Word has length 50 [2022-04-08 12:20:52,300 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:20:52,300 INFO L478 AbstractCegarLoop]: Abstraction has 55 states and 71 transitions. [2022-04-08 12:20:52,301 INFO L479 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-08 12:20:52,301 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 71 transitions. [2022-04-08 12:20:52,393 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-08 12:20:52,393 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 71 transitions. [2022-04-08 12:20:52,393 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-08 12:20:52,393 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:20:52,393 INFO L499 BasicCegarLoop]: 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-08 12:20:52,410 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-08 12:20:52,607 WARN L460 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-08 12:20:52,608 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:20:52,608 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:20:52,608 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 1 times [2022-04-08 12:20:52,608 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:20:52,608 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2104966557] [2022-04-08 12:20:52,608 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:20:52,609 INFO L85 PathProgramCache]: Analyzing trace with hash 606548870, now seen corresponding path program 2 times [2022-04-08 12:20:52,609 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:20:52,609 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [983057137] [2022-04-08 12:20:52,609 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:20:52,609 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:20:52,621 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:20:52,621 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1744133143] [2022-04-08 12:20:52,621 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:20:52,621 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:20:52,621 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:20:52,622 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-08 12:20:52,623 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-08 12:20:52,659 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:20:52,659 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:20:52,660 INFO L263 TraceCheckSpWp]: Trace formula consists of 155 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 12:20:52,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:20:52,674 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:20:53,163 INFO L272 TraceCheckUtils]: 0: Hoare triple {1818#true} call ULTIMATE.init(); {1818#true} is VALID [2022-04-08 12:20:53,163 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-08 12:20:53,163 INFO L290 TraceCheckUtils]: 2: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:20:53,163 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1818#true} {1818#true} #103#return; {1818#true} is VALID [2022-04-08 12:20:53,163 INFO L272 TraceCheckUtils]: 4: Hoare triple {1818#true} call #t~ret6 := main(); {1818#true} is VALID [2022-04-08 12:20:53,163 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-08 12:20:53,163 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-08 12:20:53,164 INFO L290 TraceCheckUtils]: 7: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-08 12:20:53,164 INFO L290 TraceCheckUtils]: 8: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-08 12:20:53,164 INFO L290 TraceCheckUtils]: 9: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:20:53,164 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1818#true} {1818#true} #79#return; {1818#true} is VALID [2022-04-08 12:20:53,164 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-08 12:20:53,164 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-08 12:20:53,164 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-08 12:20:53,165 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-08 12:20:53,165 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-08 12:20:53,166 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-08 12:20:53,166 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-08 12:20:53,166 INFO L290 TraceCheckUtils]: 18: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-08 12:20:53,166 INFO L290 TraceCheckUtils]: 19: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-08 12:20:53,166 INFO L290 TraceCheckUtils]: 20: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:20:53,167 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-08 12:20:53,167 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-08 12:20:53,167 INFO L290 TraceCheckUtils]: 23: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-08 12:20:53,167 INFO L290 TraceCheckUtils]: 24: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-08 12:20:53,167 INFO L290 TraceCheckUtils]: 25: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:20:53,167 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-08 12:20:53,168 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-08 12:20:53,168 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-08 12:20:53,168 INFO L290 TraceCheckUtils]: 29: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-08 12:20:53,168 INFO L290 TraceCheckUtils]: 30: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-08 12:20:53,168 INFO L290 TraceCheckUtils]: 31: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:20:53,169 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-08 12:20:53,169 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-08 12:20:53,169 INFO L290 TraceCheckUtils]: 34: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-08 12:20:53,169 INFO L290 TraceCheckUtils]: 35: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-08 12:20:53,169 INFO L290 TraceCheckUtils]: 36: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:20:53,170 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-08 12:20:53,170 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-08 12:20:53,171 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-08 12:20:53,171 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-08 12:20:53,171 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-08 12:20:53,171 INFO L290 TraceCheckUtils]: 42: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-08 12:20:53,171 INFO L290 TraceCheckUtils]: 43: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-08 12:20:53,171 INFO L290 TraceCheckUtils]: 44: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:20:53,172 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-08 12:20:53,172 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-08 12:20:53,172 INFO L290 TraceCheckUtils]: 47: Hoare triple {1818#true} ~cond := #in~cond; {1818#true} is VALID [2022-04-08 12:20:53,172 INFO L290 TraceCheckUtils]: 48: Hoare triple {1818#true} assume !(0 == ~cond); {1818#true} is VALID [2022-04-08 12:20:53,172 INFO L290 TraceCheckUtils]: 49: Hoare triple {1818#true} assume true; {1818#true} is VALID [2022-04-08 12:20:53,173 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-08 12:20:53,174 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-08 12:20:53,174 INFO L290 TraceCheckUtils]: 52: Hoare triple {1981#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1985#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:20:53,174 INFO L290 TraceCheckUtils]: 53: Hoare triple {1985#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1819#false} is VALID [2022-04-08 12:20:53,174 INFO L290 TraceCheckUtils]: 54: Hoare triple {1819#false} assume !false; {1819#false} is VALID [2022-04-08 12:20:53,175 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-08 12:20:53,175 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:21:22,421 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:21:22,421 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [983057137] [2022-04-08 12:21:22,422 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:21:22,422 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1744133143] [2022-04-08 12:21:22,422 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1744133143] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 12:21:22,422 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:21:22,422 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9] total 9 [2022-04-08 12:21:22,422 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:21:22,422 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2104966557] [2022-04-08 12:21:22,422 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2104966557] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:21:22,422 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:21:22,423 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 12:21:22,423 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [841083853] [2022-04-08 12:21:22,423 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:21:22,423 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-08 12:21:22,423 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:21:22,423 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-08 12:21:22,462 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-08 12:21:22,462 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 12:21:22,462 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:22,463 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 12:21:22,463 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-08 12:21:22,463 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-08 12:21:23,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:23,042 INFO L93 Difference]: Finished difference Result 62 states and 77 transitions. [2022-04-08 12:21:23,042 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 12:21:23,042 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-08 12:21:23,042 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:21:23,042 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-08 12:21:23,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-08 12:21:23,044 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-08 12:21:23,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2022-04-08 12:21:23,045 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2022-04-08 12:21:23,094 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-08 12:21:23,096 INFO L225 Difference]: With dead ends: 62 [2022-04-08 12:21:23,096 INFO L226 Difference]: Without dead ends: 60 [2022-04-08 12:21:23,096 INFO L912 BasicCegarLoop]: 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-08 12:21:23,096 INFO L913 BasicCegarLoop]: 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-08 12:21:23,097 INFO L914 BasicCegarLoop]: 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-08 12:21:23,097 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-04-08 12:21:23,153 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 59. [2022-04-08 12:21:23,153 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:21:23,153 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-08 12:21:23,154 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-08 12:21:23,154 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-08 12:21:23,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:23,156 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-08 12:21:23,156 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-08 12:21:23,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:23,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:23,157 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-08 12:21:23,157 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-08 12:21:23,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:21:23,159 INFO L93 Difference]: Finished difference Result 60 states and 75 transitions. [2022-04-08 12:21:23,159 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 75 transitions. [2022-04-08 12:21:23,159 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:21:23,159 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:21:23,159 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:21:23,159 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:21:23,159 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-08 12:21:23,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 74 transitions. [2022-04-08 12:21:23,161 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 74 transitions. Word has length 55 [2022-04-08 12:21:23,161 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:21:23,161 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 74 transitions. [2022-04-08 12:21:23,162 INFO L479 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-08 12:21:23,162 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 74 transitions. [2022-04-08 12:21:23,245 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-08 12:21:23,245 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 74 transitions. [2022-04-08 12:21:23,245 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 61 [2022-04-08 12:21:23,245 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:21:23,245 INFO L499 BasicCegarLoop]: 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-08 12:21:23,262 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-08 12:21:23,446 WARN L460 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-08 12:21:23,446 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:21:23,446 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:21:23,446 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 1 times [2022-04-08 12:21:23,447 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:21:23,447 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [649785763] [2022-04-08 12:21:23,447 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:21:23,447 INFO L85 PathProgramCache]: Analyzing trace with hash 1584976990, now seen corresponding path program 2 times [2022-04-08 12:21:23,447 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:21:23,447 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [391478191] [2022-04-08 12:21:23,447 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:21:23,448 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:21:23,464 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:21:23,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [730729999] [2022-04-08 12:21:23,464 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:21:23,464 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:21:23,464 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:21:23,467 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-08 12:21:23,467 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-08 12:21:23,509 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:21:23,510 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:21:23,510 INFO L263 TraceCheckSpWp]: Trace formula consists of 164 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-08 12:21:23,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:21:23,520 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:21:23,785 INFO L272 TraceCheckUtils]: 0: Hoare triple {2373#true} call ULTIMATE.init(); {2373#true} is VALID [2022-04-08 12:21:23,786 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-08 12:21:23,786 INFO L290 TraceCheckUtils]: 2: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-08 12:21:23,786 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2373#true} {2373#true} #103#return; {2373#true} is VALID [2022-04-08 12:21:23,786 INFO L272 TraceCheckUtils]: 4: Hoare triple {2373#true} call #t~ret6 := main(); {2373#true} is VALID [2022-04-08 12:21:23,786 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-08 12:21:23,786 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-08 12:21:23,786 INFO L290 TraceCheckUtils]: 7: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-08 12:21:23,787 INFO L290 TraceCheckUtils]: 8: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-08 12:21:23,787 INFO L290 TraceCheckUtils]: 9: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-08 12:21:23,787 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2373#true} {2373#true} #79#return; {2373#true} is VALID [2022-04-08 12:21:23,787 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-08 12:21:23,787 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-08 12:21:23,787 INFO L290 TraceCheckUtils]: 13: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-08 12:21:23,787 INFO L290 TraceCheckUtils]: 14: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-08 12:21:23,787 INFO L290 TraceCheckUtils]: 15: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-08 12:21:23,787 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2373#true} {2373#true} #81#return; {2373#true} is VALID [2022-04-08 12:21:23,788 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-08 12:21:23,788 INFO L290 TraceCheckUtils]: 18: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-08 12:21:23,788 INFO L290 TraceCheckUtils]: 19: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-08 12:21:23,788 INFO L290 TraceCheckUtils]: 20: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-08 12:21:23,788 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2373#true} {2373#true} #83#return; {2373#true} is VALID [2022-04-08 12:21:23,788 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-08 12:21:23,788 INFO L290 TraceCheckUtils]: 23: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-08 12:21:23,788 INFO L290 TraceCheckUtils]: 24: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-08 12:21:23,788 INFO L290 TraceCheckUtils]: 25: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-08 12:21:23,789 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2373#true} {2373#true} #85#return; {2373#true} is VALID [2022-04-08 12:21:23,789 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-08 12:21:23,789 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-08 12:21:23,789 INFO L290 TraceCheckUtils]: 29: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-08 12:21:23,789 INFO L290 TraceCheckUtils]: 30: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-08 12:21:23,789 INFO L290 TraceCheckUtils]: 31: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-08 12:21:23,790 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-08 12:21:23,790 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-08 12:21:23,790 INFO L290 TraceCheckUtils]: 34: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-08 12:21:23,790 INFO L290 TraceCheckUtils]: 35: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-08 12:21:23,790 INFO L290 TraceCheckUtils]: 36: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-08 12:21:23,791 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-08 12:21:23,791 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-08 12:21:23,792 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-08 12:21:23,792 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-08 12:21:23,792 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-08 12:21:23,792 INFO L290 TraceCheckUtils]: 42: Hoare triple {2373#true} ~cond := #in~cond; {2373#true} is VALID [2022-04-08 12:21:23,792 INFO L290 TraceCheckUtils]: 43: Hoare triple {2373#true} assume !(0 == ~cond); {2373#true} is VALID [2022-04-08 12:21:23,792 INFO L290 TraceCheckUtils]: 44: Hoare triple {2373#true} assume true; {2373#true} is VALID [2022-04-08 12:21:23,793 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-08 12:21:23,793 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-08 12:21:23,794 INFO L290 TraceCheckUtils]: 47: Hoare triple {2373#true} ~cond := #in~cond; {2520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:21:23,794 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-08 12:21:23,794 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-08 12:21:23,795 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-08 12:21:23,795 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-08 12:21:23,795 INFO L290 TraceCheckUtils]: 52: Hoare triple {2373#true} ~cond := #in~cond; {2520#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:21:23,796 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-08 12:21:23,796 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-08 12:21:23,796 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-08 12:21:23,797 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-08 12:21:23,797 INFO L290 TraceCheckUtils]: 57: Hoare triple {2549#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2553#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:21:23,798 INFO L290 TraceCheckUtils]: 58: Hoare triple {2553#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2374#false} is VALID [2022-04-08 12:21:23,798 INFO L290 TraceCheckUtils]: 59: Hoare triple {2374#false} assume !false; {2374#false} is VALID [2022-04-08 12:21:23,798 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-08 12:21:23,798 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:22:05,673 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:22:05,673 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [391478191] [2022-04-08 12:22:05,673 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:22:05,674 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [730729999] [2022-04-08 12:22:05,674 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [730729999] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 12:22:05,674 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:22:05,674 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7] total 7 [2022-04-08 12:22:05,674 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:22:05,674 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [649785763] [2022-04-08 12:22:05,674 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [649785763] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:22:05,674 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:22:05,674 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 12:22:05,674 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [657202397] [2022-04-08 12:22:05,674 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:22:05,675 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-08 12:22:05,675 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:22:05,675 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-08 12:22:05,711 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-08 12:22:05,711 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 12:22:05,711 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:22:05,711 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 12:22:05,711 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:22:05,712 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-08 12:22:06,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:06,126 INFO L93 Difference]: Finished difference Result 66 states and 80 transitions. [2022-04-08 12:22:06,127 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 12:22:06,127 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-08 12:22:06,127 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:22:06,127 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-08 12:22:06,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-08 12:22:06,128 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-08 12:22:06,129 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-08 12:22:06,131 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2022-04-08 12:22:06,177 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-08 12:22:06,179 INFO L225 Difference]: With dead ends: 66 [2022-04-08 12:22:06,179 INFO L226 Difference]: Without dead ends: 64 [2022-04-08 12:22:06,179 INFO L912 BasicCegarLoop]: 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-08 12:22:06,179 INFO L913 BasicCegarLoop]: 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-08 12:22:06,180 INFO L914 BasicCegarLoop]: 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-08 12:22:06,180 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-04-08 12:22:06,245 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 63. [2022-04-08 12:22:06,246 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:22:06,246 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-08 12:22:06,246 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-08 12:22:06,246 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-08 12:22:06,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:06,248 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-08 12:22:06,248 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-08 12:22:06,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:22:06,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:22:06,249 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-08 12:22:06,249 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-08 12:22:06,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:06,251 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-04-08 12:22:06,251 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-04-08 12:22:06,251 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:22:06,251 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:22:06,251 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:22:06,251 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:22:06,252 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-08 12:22:06,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 77 transitions. [2022-04-08 12:22:06,253 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 77 transitions. Word has length 60 [2022-04-08 12:22:06,253 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:22:06,253 INFO L478 AbstractCegarLoop]: Abstraction has 63 states and 77 transitions. [2022-04-08 12:22:06,254 INFO L479 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-08 12:22:06,254 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 77 transitions. [2022-04-08 12:22:06,328 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-08 12:22:06,328 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 77 transitions. [2022-04-08 12:22:06,329 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-08 12:22:06,329 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:22:06,329 INFO L499 BasicCegarLoop]: 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-08 12:22:06,345 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-08 12:22:06,529 WARN L460 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-08 12:22:06,529 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:22:06,530 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:22:06,530 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 1 times [2022-04-08 12:22:06,530 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:22:06,530 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1560115698] [2022-04-08 12:22:06,530 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:22:06,530 INFO L85 PathProgramCache]: Analyzing trace with hash -669670075, now seen corresponding path program 2 times [2022-04-08 12:22:06,531 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:22:06,531 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2040192411] [2022-04-08 12:22:06,531 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:22:06,531 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:22:06,541 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:22:06,541 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [140024358] [2022-04-08 12:22:06,541 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:22:06,542 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:22:06,542 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:22:06,542 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-08 12:22:06,543 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-08 12:22:06,586 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:22:06,586 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:22:06,587 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 15 conjunts are in the unsatisfiable core [2022-04-08 12:22:06,596 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:22:06,597 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:22:06,787 INFO L272 TraceCheckUtils]: 0: Hoare triple {2966#true} call ULTIMATE.init(); {2966#true} is VALID [2022-04-08 12:22:06,787 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-08 12:22:06,787 INFO L290 TraceCheckUtils]: 2: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,787 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2966#true} {2966#true} #103#return; {2966#true} is VALID [2022-04-08 12:22:06,787 INFO L272 TraceCheckUtils]: 4: Hoare triple {2966#true} call #t~ret6 := main(); {2966#true} is VALID [2022-04-08 12:22:06,787 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-08 12:22:06,787 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-08 12:22:06,787 INFO L290 TraceCheckUtils]: 7: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,788 INFO L290 TraceCheckUtils]: 8: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,788 INFO L290 TraceCheckUtils]: 9: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,788 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2966#true} {2966#true} #79#return; {2966#true} is VALID [2022-04-08 12:22:06,788 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-08 12:22:06,788 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-08 12:22:06,788 INFO L290 TraceCheckUtils]: 13: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,788 INFO L290 TraceCheckUtils]: 14: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,788 INFO L290 TraceCheckUtils]: 15: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,788 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2966#true} {2966#true} #81#return; {2966#true} is VALID [2022-04-08 12:22:06,789 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-08 12:22:06,789 INFO L290 TraceCheckUtils]: 18: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,789 INFO L290 TraceCheckUtils]: 19: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,789 INFO L290 TraceCheckUtils]: 20: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,789 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2966#true} {2966#true} #83#return; {2966#true} is VALID [2022-04-08 12:22:06,789 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-08 12:22:06,789 INFO L290 TraceCheckUtils]: 23: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,789 INFO L290 TraceCheckUtils]: 24: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,790 INFO L290 TraceCheckUtils]: 25: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,790 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2966#true} {2966#true} #85#return; {2966#true} is VALID [2022-04-08 12:22:06,790 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-08 12:22:06,790 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-08 12:22:06,790 INFO L290 TraceCheckUtils]: 29: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,790 INFO L290 TraceCheckUtils]: 30: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,790 INFO L290 TraceCheckUtils]: 31: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,790 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2966#true} {2966#true} #87#return; {2966#true} is VALID [2022-04-08 12:22:06,790 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-08 12:22:06,790 INFO L290 TraceCheckUtils]: 34: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,791 INFO L290 TraceCheckUtils]: 35: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,791 INFO L290 TraceCheckUtils]: 36: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,791 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2966#true} {2966#true} #89#return; {2966#true} is VALID [2022-04-08 12:22:06,791 INFO L290 TraceCheckUtils]: 38: Hoare triple {2966#true} assume !false; {2966#true} is VALID [2022-04-08 12:22:06,791 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-08 12:22:06,792 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-08 12:22:06,792 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-08 12:22:06,792 INFO L290 TraceCheckUtils]: 42: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,792 INFO L290 TraceCheckUtils]: 43: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,792 INFO L290 TraceCheckUtils]: 44: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,793 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-08 12:22:06,793 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-08 12:22:06,793 INFO L290 TraceCheckUtils]: 47: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,793 INFO L290 TraceCheckUtils]: 48: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,793 INFO L290 TraceCheckUtils]: 49: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,794 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-08 12:22:06,794 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-08 12:22:06,794 INFO L290 TraceCheckUtils]: 52: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,794 INFO L290 TraceCheckUtils]: 53: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,794 INFO L290 TraceCheckUtils]: 54: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,795 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-08 12:22:06,795 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-08 12:22:06,795 INFO L290 TraceCheckUtils]: 57: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,795 INFO L290 TraceCheckUtils]: 58: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,795 INFO L290 TraceCheckUtils]: 59: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,796 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-08 12:22:06,797 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-08 12:22:06,797 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-08 12:22:06,798 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-08 12:22:06,798 INFO L290 TraceCheckUtils]: 64: Hoare triple {3162#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3166#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:06,798 INFO L290 TraceCheckUtils]: 65: Hoare triple {3166#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2967#false} is VALID [2022-04-08 12:22:06,798 INFO L290 TraceCheckUtils]: 66: Hoare triple {2967#false} assume !false; {2967#false} is VALID [2022-04-08 12:22:06,799 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-08 12:22:06,799 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:22:06,983 INFO L290 TraceCheckUtils]: 66: Hoare triple {2967#false} assume !false; {2967#false} is VALID [2022-04-08 12:22:06,983 INFO L290 TraceCheckUtils]: 65: Hoare triple {3166#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2967#false} is VALID [2022-04-08 12:22:06,983 INFO L290 TraceCheckUtils]: 64: Hoare triple {3162#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3166#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:06,984 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-08 12:22:06,984 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-08 12:22:06,986 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-08 12:22:06,987 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-08 12:22:06,987 INFO L290 TraceCheckUtils]: 59: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,987 INFO L290 TraceCheckUtils]: 58: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,987 INFO L290 TraceCheckUtils]: 57: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,987 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-08 12:22:06,988 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-08 12:22:06,988 INFO L290 TraceCheckUtils]: 54: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,988 INFO L290 TraceCheckUtils]: 53: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,988 INFO L290 TraceCheckUtils]: 52: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,988 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-08 12:22:06,989 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-08 12:22:06,989 INFO L290 TraceCheckUtils]: 49: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,989 INFO L290 TraceCheckUtils]: 48: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,989 INFO L290 TraceCheckUtils]: 47: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,989 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-08 12:22:06,990 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-08 12:22:06,990 INFO L290 TraceCheckUtils]: 44: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,990 INFO L290 TraceCheckUtils]: 43: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,990 INFO L290 TraceCheckUtils]: 42: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,990 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-08 12:22:06,991 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-08 12:22:06,991 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-08 12:22:06,991 INFO L290 TraceCheckUtils]: 38: Hoare triple {2966#true} assume !false; {2966#true} is VALID [2022-04-08 12:22:06,992 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {2966#true} {2966#true} #89#return; {2966#true} is VALID [2022-04-08 12:22:06,992 INFO L290 TraceCheckUtils]: 36: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,992 INFO L290 TraceCheckUtils]: 35: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,992 INFO L290 TraceCheckUtils]: 34: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,992 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-08 12:22:06,992 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2966#true} {2966#true} #87#return; {2966#true} is VALID [2022-04-08 12:22:06,992 INFO L290 TraceCheckUtils]: 31: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,992 INFO L290 TraceCheckUtils]: 30: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,992 INFO L290 TraceCheckUtils]: 29: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,992 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-08 12:22:06,993 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-08 12:22:06,993 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {2966#true} {2966#true} #85#return; {2966#true} is VALID [2022-04-08 12:22:06,993 INFO L290 TraceCheckUtils]: 25: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,993 INFO L290 TraceCheckUtils]: 24: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,993 INFO L290 TraceCheckUtils]: 23: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,993 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-08 12:22:06,993 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {2966#true} {2966#true} #83#return; {2966#true} is VALID [2022-04-08 12:22:06,993 INFO L290 TraceCheckUtils]: 20: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,993 INFO L290 TraceCheckUtils]: 19: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,993 INFO L290 TraceCheckUtils]: 18: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,994 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-08 12:22:06,994 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {2966#true} {2966#true} #81#return; {2966#true} is VALID [2022-04-08 12:22:06,994 INFO L290 TraceCheckUtils]: 15: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,994 INFO L290 TraceCheckUtils]: 14: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,994 INFO L290 TraceCheckUtils]: 13: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,994 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-08 12:22:06,994 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-08 12:22:06,994 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2966#true} {2966#true} #79#return; {2966#true} is VALID [2022-04-08 12:22:06,994 INFO L290 TraceCheckUtils]: 9: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,994 INFO L290 TraceCheckUtils]: 8: Hoare triple {2966#true} assume !(0 == ~cond); {2966#true} is VALID [2022-04-08 12:22:06,995 INFO L290 TraceCheckUtils]: 7: Hoare triple {2966#true} ~cond := #in~cond; {2966#true} is VALID [2022-04-08 12:22:06,995 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-08 12:22:06,995 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-08 12:22:06,995 INFO L272 TraceCheckUtils]: 4: Hoare triple {2966#true} call #t~ret6 := main(); {2966#true} is VALID [2022-04-08 12:22:06,995 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2966#true} {2966#true} #103#return; {2966#true} is VALID [2022-04-08 12:22:06,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {2966#true} assume true; {2966#true} is VALID [2022-04-08 12:22:06,995 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-08 12:22:06,995 INFO L272 TraceCheckUtils]: 0: Hoare triple {2966#true} call ULTIMATE.init(); {2966#true} is VALID [2022-04-08 12:22:06,996 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-08 12:22:06,996 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:22:06,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2040192411] [2022-04-08 12:22:06,996 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:22:06,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [140024358] [2022-04-08 12:22:06,996 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [140024358] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 12:22:06,996 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:22:06,996 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-04-08 12:22:06,996 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:22:06,996 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1560115698] [2022-04-08 12:22:06,997 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1560115698] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:22:06,997 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:22:06,997 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:22:06,997 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1566336059] [2022-04-08 12:22:06,997 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:22:06,997 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-08 12:22:06,997 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:22:06,998 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-08 12:22:07,024 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-08 12:22:07,024 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:22:07,024 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:22:07,025 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:22:07,025 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-04-08 12:22:07,025 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-08 12:22:07,212 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:07,212 INFO L93 Difference]: Finished difference Result 69 states and 82 transitions. [2022-04-08 12:22:07,212 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 12:22:07,212 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-08 12:22:07,213 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:22:07,214 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-08 12:22:07,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-08 12:22:07,215 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-08 12:22:07,216 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-08 12:22:07,216 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-08 12:22:07,263 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-08 12:22:07,265 INFO L225 Difference]: With dead ends: 69 [2022-04-08 12:22:07,265 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 12:22:07,265 INFO L912 BasicCegarLoop]: 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-08 12:22:07,266 INFO L913 BasicCegarLoop]: 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-08 12:22:07,266 INFO L914 BasicCegarLoop]: 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-08 12:22:07,267 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 12:22:07,317 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 59. [2022-04-08 12:22:07,317 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:22:07,317 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-08 12:22:07,317 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-08 12:22:07,317 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-08 12:22:07,320 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:07,320 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-08 12:22:07,320 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-08 12:22:07,320 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:22:07,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:22:07,321 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-08 12:22:07,321 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-08 12:22:07,322 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:07,322 INFO L93 Difference]: Finished difference Result 67 states and 80 transitions. [2022-04-08 12:22:07,323 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 80 transitions. [2022-04-08 12:22:07,323 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:22:07,323 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:22:07,323 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:22:07,323 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:22:07,323 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-08 12:22:07,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 71 transitions. [2022-04-08 12:22:07,325 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 71 transitions. Word has length 67 [2022-04-08 12:22:07,325 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:22:07,325 INFO L478 AbstractCegarLoop]: Abstraction has 59 states and 71 transitions. [2022-04-08 12:22:07,325 INFO L479 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-08 12:22:07,325 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 59 states and 71 transitions. [2022-04-08 12:22:07,407 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-08 12:22:07,407 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 71 transitions. [2022-04-08 12:22:07,407 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 70 [2022-04-08 12:22:07,408 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:22:07,408 INFO L499 BasicCegarLoop]: 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-08 12:22:07,424 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 12:22:07,621 WARN L460 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-08 12:22:07,621 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:22:07,621 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:22:07,622 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 1 times [2022-04-08 12:22:07,622 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:22:07,622 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [527876927] [2022-04-08 12:22:07,622 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:22:07,622 INFO L85 PathProgramCache]: Analyzing trace with hash -1682830289, now seen corresponding path program 2 times [2022-04-08 12:22:07,622 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:22:07,622 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [82305304] [2022-04-08 12:22:07,622 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:22:07,623 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:22:07,660 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:22:07,661 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [105629694] [2022-04-08 12:22:07,661 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:22:07,661 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:22:07,661 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:22:07,663 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-08 12:22:07,664 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-08 12:22:07,706 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:22:07,706 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:22:07,707 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 12:22:07,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:22:07,718 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:22:07,905 INFO L272 TraceCheckUtils]: 0: Hoare triple {3766#true} call ULTIMATE.init(); {3766#true} is VALID [2022-04-08 12:22:07,906 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-08 12:22:07,906 INFO L290 TraceCheckUtils]: 2: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:07,906 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3766#true} {3766#true} #103#return; {3766#true} is VALID [2022-04-08 12:22:07,906 INFO L272 TraceCheckUtils]: 4: Hoare triple {3766#true} call #t~ret6 := main(); {3766#true} is VALID [2022-04-08 12:22:07,906 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-08 12:22:07,906 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-08 12:22:07,906 INFO L290 TraceCheckUtils]: 7: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:07,906 INFO L290 TraceCheckUtils]: 8: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:07,907 INFO L290 TraceCheckUtils]: 9: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:07,907 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3766#true} {3766#true} #79#return; {3766#true} is VALID [2022-04-08 12:22:07,907 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-08 12:22:07,907 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-08 12:22:07,907 INFO L290 TraceCheckUtils]: 13: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:07,909 INFO L290 TraceCheckUtils]: 14: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:07,909 INFO L290 TraceCheckUtils]: 15: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:07,909 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3766#true} {3766#true} #81#return; {3766#true} is VALID [2022-04-08 12:22:07,909 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-08 12:22:07,909 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-08 12:22:07,910 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-08 12:22:07,910 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-08 12:22:07,911 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-08 12:22:07,911 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-08 12:22:07,911 INFO L290 TraceCheckUtils]: 23: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:07,911 INFO L290 TraceCheckUtils]: 24: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:07,911 INFO L290 TraceCheckUtils]: 25: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:07,911 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3766#true} {3836#(<= 1 main_~x~0)} #85#return; {3836#(<= 1 main_~x~0)} is VALID [2022-04-08 12:22:07,912 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-08 12:22:07,912 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-08 12:22:07,912 INFO L290 TraceCheckUtils]: 29: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:07,912 INFO L290 TraceCheckUtils]: 30: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:07,912 INFO L290 TraceCheckUtils]: 31: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:07,913 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3766#true} {3855#(<= 1 main_~a~0)} #87#return; {3855#(<= 1 main_~a~0)} is VALID [2022-04-08 12:22:07,913 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-08 12:22:07,913 INFO L290 TraceCheckUtils]: 34: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:07,913 INFO L290 TraceCheckUtils]: 35: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:07,913 INFO L290 TraceCheckUtils]: 36: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:07,914 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3766#true} {3855#(<= 1 main_~a~0)} #89#return; {3855#(<= 1 main_~a~0)} is VALID [2022-04-08 12:22:07,914 INFO L290 TraceCheckUtils]: 38: Hoare triple {3855#(<= 1 main_~a~0)} assume !false; {3855#(<= 1 main_~a~0)} is VALID [2022-04-08 12:22:07,914 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-08 12:22:07,914 INFO L290 TraceCheckUtils]: 40: Hoare triple {3892#(<= 1 main_~c~0)} assume !false; {3892#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:07,915 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-08 12:22:07,915 INFO L290 TraceCheckUtils]: 42: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:07,915 INFO L290 TraceCheckUtils]: 43: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:07,915 INFO L290 TraceCheckUtils]: 44: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:07,915 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #91#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:07,915 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-08 12:22:07,915 INFO L290 TraceCheckUtils]: 47: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:07,916 INFO L290 TraceCheckUtils]: 48: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:07,916 INFO L290 TraceCheckUtils]: 49: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:07,916 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #93#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:07,916 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-08 12:22:07,916 INFO L290 TraceCheckUtils]: 52: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:07,916 INFO L290 TraceCheckUtils]: 53: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:07,916 INFO L290 TraceCheckUtils]: 54: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:07,917 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #95#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:07,917 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-08 12:22:07,917 INFO L290 TraceCheckUtils]: 57: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:07,917 INFO L290 TraceCheckUtils]: 58: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:07,917 INFO L290 TraceCheckUtils]: 59: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:07,918 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #97#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:07,918 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-08 12:22:07,919 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-08 12:22:07,919 INFO L290 TraceCheckUtils]: 63: Hoare triple {3962#(<= 1 main_~b~0)} assume !false; {3962#(<= 1 main_~b~0)} is VALID [2022-04-08 12:22:07,919 INFO L290 TraceCheckUtils]: 64: Hoare triple {3962#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3767#false} is VALID [2022-04-08 12:22:07,919 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-08 12:22:07,920 INFO L290 TraceCheckUtils]: 66: Hoare triple {3767#false} ~cond := #in~cond; {3767#false} is VALID [2022-04-08 12:22:07,920 INFO L290 TraceCheckUtils]: 67: Hoare triple {3767#false} assume 0 == ~cond; {3767#false} is VALID [2022-04-08 12:22:07,920 INFO L290 TraceCheckUtils]: 68: Hoare triple {3767#false} assume !false; {3767#false} is VALID [2022-04-08 12:22:07,920 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-08 12:22:07,920 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:22:08,173 INFO L290 TraceCheckUtils]: 68: Hoare triple {3767#false} assume !false; {3767#false} is VALID [2022-04-08 12:22:08,173 INFO L290 TraceCheckUtils]: 67: Hoare triple {3767#false} assume 0 == ~cond; {3767#false} is VALID [2022-04-08 12:22:08,173 INFO L290 TraceCheckUtils]: 66: Hoare triple {3767#false} ~cond := #in~cond; {3767#false} is VALID [2022-04-08 12:22:08,174 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-08 12:22:08,174 INFO L290 TraceCheckUtils]: 64: Hoare triple {3962#(<= 1 main_~b~0)} assume !(0 != ~b~0); {3767#false} is VALID [2022-04-08 12:22:08,174 INFO L290 TraceCheckUtils]: 63: Hoare triple {3962#(<= 1 main_~b~0)} assume !false; {3962#(<= 1 main_~b~0)} is VALID [2022-04-08 12:22:08,175 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-08 12:22:08,175 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-08 12:22:08,176 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #97#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:08,176 INFO L290 TraceCheckUtils]: 59: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:08,176 INFO L290 TraceCheckUtils]: 58: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:08,176 INFO L290 TraceCheckUtils]: 57: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:08,176 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-08 12:22:08,176 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #95#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:08,177 INFO L290 TraceCheckUtils]: 54: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:08,177 INFO L290 TraceCheckUtils]: 53: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:08,177 INFO L290 TraceCheckUtils]: 52: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:08,177 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-08 12:22:08,177 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #93#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:08,177 INFO L290 TraceCheckUtils]: 49: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:08,178 INFO L290 TraceCheckUtils]: 48: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:08,178 INFO L290 TraceCheckUtils]: 47: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:08,178 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-08 12:22:08,179 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {3766#true} {3892#(<= 1 main_~c~0)} #91#return; {3892#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:08,179 INFO L290 TraceCheckUtils]: 44: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:08,179 INFO L290 TraceCheckUtils]: 43: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:08,179 INFO L290 TraceCheckUtils]: 42: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:08,179 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-08 12:22:08,180 INFO L290 TraceCheckUtils]: 40: Hoare triple {3892#(<= 1 main_~c~0)} assume !false; {3892#(<= 1 main_~c~0)} is VALID [2022-04-08 12:22:08,180 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-08 12:22:08,184 INFO L290 TraceCheckUtils]: 38: Hoare triple {3855#(<= 1 main_~a~0)} assume !false; {3855#(<= 1 main_~a~0)} is VALID [2022-04-08 12:22:08,184 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {3766#true} {3855#(<= 1 main_~a~0)} #89#return; {3855#(<= 1 main_~a~0)} is VALID [2022-04-08 12:22:08,184 INFO L290 TraceCheckUtils]: 36: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:08,184 INFO L290 TraceCheckUtils]: 35: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:08,184 INFO L290 TraceCheckUtils]: 34: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:08,185 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-08 12:22:08,185 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3766#true} {3855#(<= 1 main_~a~0)} #87#return; {3855#(<= 1 main_~a~0)} is VALID [2022-04-08 12:22:08,185 INFO L290 TraceCheckUtils]: 31: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:08,185 INFO L290 TraceCheckUtils]: 30: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:08,185 INFO L290 TraceCheckUtils]: 29: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:08,185 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-08 12:22:08,186 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-08 12:22:08,186 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {3766#true} {3836#(<= 1 main_~x~0)} #85#return; {3836#(<= 1 main_~x~0)} is VALID [2022-04-08 12:22:08,186 INFO L290 TraceCheckUtils]: 25: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:08,186 INFO L290 TraceCheckUtils]: 24: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:08,187 INFO L290 TraceCheckUtils]: 23: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:08,187 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-08 12:22:08,187 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-08 12:22:08,187 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-08 12:22:08,188 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-08 12:22:08,188 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-08 12:22:08,188 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-08 12:22:08,188 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {3766#true} {3766#true} #81#return; {3766#true} is VALID [2022-04-08 12:22:08,188 INFO L290 TraceCheckUtils]: 15: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:08,189 INFO L290 TraceCheckUtils]: 14: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:08,189 INFO L290 TraceCheckUtils]: 13: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:08,189 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-08 12:22:08,189 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-08 12:22:08,189 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3766#true} {3766#true} #79#return; {3766#true} is VALID [2022-04-08 12:22:08,189 INFO L290 TraceCheckUtils]: 9: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:08,189 INFO L290 TraceCheckUtils]: 8: Hoare triple {3766#true} assume !(0 == ~cond); {3766#true} is VALID [2022-04-08 12:22:08,189 INFO L290 TraceCheckUtils]: 7: Hoare triple {3766#true} ~cond := #in~cond; {3766#true} is VALID [2022-04-08 12:22:08,189 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-08 12:22:08,189 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-08 12:22:08,189 INFO L272 TraceCheckUtils]: 4: Hoare triple {3766#true} call #t~ret6 := main(); {3766#true} is VALID [2022-04-08 12:22:08,190 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3766#true} {3766#true} #103#return; {3766#true} is VALID [2022-04-08 12:22:08,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {3766#true} assume true; {3766#true} is VALID [2022-04-08 12:22:08,190 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-08 12:22:08,190 INFO L272 TraceCheckUtils]: 0: Hoare triple {3766#true} call ULTIMATE.init(); {3766#true} is VALID [2022-04-08 12:22:08,190 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-08 12:22:08,190 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:22:08,190 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [82305304] [2022-04-08 12:22:08,190 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:22:08,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [105629694] [2022-04-08 12:22:08,191 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [105629694] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:22:08,191 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:22:08,191 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 12:22:08,191 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:22:08,191 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [527876927] [2022-04-08 12:22:08,191 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [527876927] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:22:08,191 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:22:08,191 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:22:08,191 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [141611534] [2022-04-08 12:22:08,191 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:22:08,192 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-08 12:22:08,192 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:22:08,192 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-08 12:22:08,221 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-08 12:22:08,221 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:22:08,221 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:22:08,221 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:22:08,221 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:22:08,222 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-08 12:22:08,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:08,942 INFO L93 Difference]: Finished difference Result 106 states and 146 transitions. [2022-04-08 12:22:08,942 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 12:22:08,943 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-08 12:22:08,943 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:22:08,943 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-08 12:22:08,945 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-08 12:22:08,945 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-08 12:22:08,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 110 transitions. [2022-04-08 12:22:08,947 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 110 transitions. [2022-04-08 12:22:09,030 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-08 12:22:09,032 INFO L225 Difference]: With dead ends: 106 [2022-04-08 12:22:09,032 INFO L226 Difference]: Without dead ends: 98 [2022-04-08 12:22:09,032 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 142 GetRequests, 129 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=135, Unknown=0, NotChecked=0, Total=182 [2022-04-08 12:22:09,033 INFO L913 BasicCegarLoop]: 60 mSDtfsCounter, 30 mSDsluCounter, 199 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 53 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s 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.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:22:09,033 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [35 Valid, 259 Invalid, 227 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [53 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 12:22:09,033 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2022-04-08 12:22:09,177 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 89. [2022-04-08 12:22:09,178 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:22:09,178 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-08 12:22:09,178 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-08 12:22:09,178 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-08 12:22:09,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:09,181 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-08 12:22:09,181 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-08 12:22:09,182 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:22:09,182 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:22:09,182 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-08 12:22:09,182 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-08 12:22:09,185 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:09,185 INFO L93 Difference]: Finished difference Result 98 states and 137 transitions. [2022-04-08 12:22:09,185 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 137 transitions. [2022-04-08 12:22:09,186 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:22:09,186 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:22:09,186 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:22:09,186 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:22:09,186 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-08 12:22:09,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 89 states to 89 states and 122 transitions. [2022-04-08 12:22:09,194 INFO L78 Accepts]: Start accepts. Automaton has 89 states and 122 transitions. Word has length 69 [2022-04-08 12:22:09,194 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:22:09,194 INFO L478 AbstractCegarLoop]: Abstraction has 89 states and 122 transitions. [2022-04-08 12:22:09,194 INFO L479 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-08 12:22:09,194 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 89 states and 122 transitions. [2022-04-08 12:22:09,369 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-08 12:22:09,370 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 122 transitions. [2022-04-08 12:22:09,370 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 76 [2022-04-08 12:22:09,370 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:22:09,370 INFO L499 BasicCegarLoop]: 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-08 12:22:09,386 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-08 12:22:09,571 WARN L460 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-08 12:22:09,571 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:22:09,571 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:22:09,571 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 1 times [2022-04-08 12:22:09,571 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:22:09,571 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [410389172] [2022-04-08 12:22:09,572 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:22:09,572 INFO L85 PathProgramCache]: Analyzing trace with hash 376741854, now seen corresponding path program 2 times [2022-04-08 12:22:09,572 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:22:09,572 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1959849247] [2022-04-08 12:22:09,572 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:22:09,572 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:22:09,582 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:22:09,583 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [739500111] [2022-04-08 12:22:09,583 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:22:09,583 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:22:09,583 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:22:09,593 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-08 12:22:09,594 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-08 12:22:09,635 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:22:09,635 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:22:09,636 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-08 12:22:09,645 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:22:09,646 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:22:09,905 INFO L272 TraceCheckUtils]: 0: Hoare triple {4784#true} call ULTIMATE.init(); {4784#true} is VALID [2022-04-08 12:22:09,905 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-08 12:22:09,905 INFO L290 TraceCheckUtils]: 2: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:09,905 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4784#true} {4784#true} #103#return; {4784#true} is VALID [2022-04-08 12:22:09,905 INFO L272 TraceCheckUtils]: 4: Hoare triple {4784#true} call #t~ret6 := main(); {4784#true} is VALID [2022-04-08 12:22:09,905 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-08 12:22:09,905 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-08 12:22:09,905 INFO L290 TraceCheckUtils]: 7: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:09,906 INFO L290 TraceCheckUtils]: 8: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:09,906 INFO L290 TraceCheckUtils]: 9: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:09,906 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4784#true} {4784#true} #79#return; {4784#true} is VALID [2022-04-08 12:22:09,906 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-08 12:22:09,906 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-08 12:22:09,906 INFO L290 TraceCheckUtils]: 13: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:09,906 INFO L290 TraceCheckUtils]: 14: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:09,906 INFO L290 TraceCheckUtils]: 15: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:09,906 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4784#true} {4784#true} #81#return; {4784#true} is VALID [2022-04-08 12:22:09,906 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-08 12:22:09,906 INFO L290 TraceCheckUtils]: 18: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:09,907 INFO L290 TraceCheckUtils]: 19: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:09,907 INFO L290 TraceCheckUtils]: 20: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:09,907 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4784#true} {4784#true} #83#return; {4784#true} is VALID [2022-04-08 12:22:09,907 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-08 12:22:09,907 INFO L290 TraceCheckUtils]: 23: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:09,907 INFO L290 TraceCheckUtils]: 24: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:09,907 INFO L290 TraceCheckUtils]: 25: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:09,907 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4784#true} {4784#true} #85#return; {4784#true} is VALID [2022-04-08 12:22:09,908 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-08 12:22:09,908 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-08 12:22:09,908 INFO L290 TraceCheckUtils]: 29: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:09,908 INFO L290 TraceCheckUtils]: 30: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:09,908 INFO L290 TraceCheckUtils]: 31: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:09,909 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-08 12:22:09,909 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-08 12:22:09,909 INFO L290 TraceCheckUtils]: 34: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:09,909 INFO L290 TraceCheckUtils]: 35: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:09,909 INFO L290 TraceCheckUtils]: 36: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:09,909 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-08 12:22:09,910 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-08 12:22:09,910 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-08 12:22:09,910 INFO L290 TraceCheckUtils]: 40: Hoare triple {4907#(= main_~q~0 0)} assume !false; {4907#(= main_~q~0 0)} is VALID [2022-04-08 12:22:09,910 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-08 12:22:09,910 INFO L290 TraceCheckUtils]: 42: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:09,911 INFO L290 TraceCheckUtils]: 43: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:09,911 INFO L290 TraceCheckUtils]: 44: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:09,911 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4784#true} {4907#(= main_~q~0 0)} #91#return; {4907#(= main_~q~0 0)} is VALID [2022-04-08 12:22:09,911 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-08 12:22:09,911 INFO L290 TraceCheckUtils]: 47: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:09,911 INFO L290 TraceCheckUtils]: 48: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:09,911 INFO L290 TraceCheckUtils]: 49: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:09,912 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4784#true} {4907#(= main_~q~0 0)} #93#return; {4907#(= main_~q~0 0)} is VALID [2022-04-08 12:22:09,912 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-08 12:22:09,912 INFO L290 TraceCheckUtils]: 52: Hoare triple {4784#true} ~cond := #in~cond; {4947#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:09,913 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-08 12:22:09,913 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-08 12:22:09,913 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-08 12:22:09,914 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-08 12:22:09,914 INFO L290 TraceCheckUtils]: 57: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:09,914 INFO L290 TraceCheckUtils]: 58: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:09,914 INFO L290 TraceCheckUtils]: 59: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:09,914 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-08 12:22:09,915 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-08 12:22:09,915 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-08 12:22:09,916 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-08 12:22:09,916 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-08 12:22:09,916 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-08 12:22:09,916 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-08 12:22:09,916 INFO L290 TraceCheckUtils]: 67: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:09,917 INFO L290 TraceCheckUtils]: 68: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:09,917 INFO L290 TraceCheckUtils]: 69: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:09,917 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-08 12:22:09,918 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-08 12:22:09,918 INFO L290 TraceCheckUtils]: 72: Hoare triple {5008#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5012#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:09,918 INFO L290 TraceCheckUtils]: 73: Hoare triple {5012#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4785#false} is VALID [2022-04-08 12:22:09,918 INFO L290 TraceCheckUtils]: 74: Hoare triple {4785#false} assume !false; {4785#false} is VALID [2022-04-08 12:22:09,919 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-08 12:22:09,919 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:22:31,777 INFO L290 TraceCheckUtils]: 74: Hoare triple {4785#false} assume !false; {4785#false} is VALID [2022-04-08 12:22:31,777 INFO L290 TraceCheckUtils]: 73: Hoare triple {5012#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4785#false} is VALID [2022-04-08 12:22:31,777 INFO L290 TraceCheckUtils]: 72: Hoare triple {5008#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5012#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:31,778 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-08 12:22:31,779 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-08 12:22:31,779 INFO L290 TraceCheckUtils]: 69: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:31,779 INFO L290 TraceCheckUtils]: 68: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:31,779 INFO L290 TraceCheckUtils]: 67: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:31,779 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-08 12:22:31,779 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-08 12:22:31,780 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-08 12:22:31,780 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-08 12:22:31,781 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-08 12:22:31,781 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-08 12:22:31,782 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-08 12:22:31,782 INFO L290 TraceCheckUtils]: 59: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:31,782 INFO L290 TraceCheckUtils]: 58: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:31,782 INFO L290 TraceCheckUtils]: 57: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:31,782 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-08 12:22:31,783 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-08 12:22:31,783 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-08 12:22:31,784 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-08 12:22:31,784 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-08 12:22:31,784 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-08 12:22:31,784 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4784#true} {4784#true} #93#return; {4784#true} is VALID [2022-04-08 12:22:31,784 INFO L290 TraceCheckUtils]: 49: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:31,785 INFO L290 TraceCheckUtils]: 48: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:31,785 INFO L290 TraceCheckUtils]: 47: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:31,785 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-08 12:22:31,785 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4784#true} {4784#true} #91#return; {4784#true} is VALID [2022-04-08 12:22:31,785 INFO L290 TraceCheckUtils]: 44: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:31,785 INFO L290 TraceCheckUtils]: 43: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:31,785 INFO L290 TraceCheckUtils]: 42: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:31,785 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-08 12:22:31,785 INFO L290 TraceCheckUtils]: 40: Hoare triple {4784#true} assume !false; {4784#true} is VALID [2022-04-08 12:22:31,785 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-08 12:22:31,785 INFO L290 TraceCheckUtils]: 38: Hoare triple {4784#true} assume !false; {4784#true} is VALID [2022-04-08 12:22:31,786 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {4784#true} {4784#true} #89#return; {4784#true} is VALID [2022-04-08 12:22:31,786 INFO L290 TraceCheckUtils]: 36: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:31,786 INFO L290 TraceCheckUtils]: 35: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:31,786 INFO L290 TraceCheckUtils]: 34: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:31,786 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-08 12:22:31,786 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4784#true} {4784#true} #87#return; {4784#true} is VALID [2022-04-08 12:22:31,786 INFO L290 TraceCheckUtils]: 31: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:31,786 INFO L290 TraceCheckUtils]: 30: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:31,786 INFO L290 TraceCheckUtils]: 29: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:31,786 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-08 12:22:31,787 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-08 12:22:31,787 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {4784#true} {4784#true} #85#return; {4784#true} is VALID [2022-04-08 12:22:31,787 INFO L290 TraceCheckUtils]: 25: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:31,787 INFO L290 TraceCheckUtils]: 24: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:31,787 INFO L290 TraceCheckUtils]: 23: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:31,787 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-08 12:22:31,787 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {4784#true} {4784#true} #83#return; {4784#true} is VALID [2022-04-08 12:22:31,787 INFO L290 TraceCheckUtils]: 20: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:31,787 INFO L290 TraceCheckUtils]: 19: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:31,787 INFO L290 TraceCheckUtils]: 18: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:31,787 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-08 12:22:31,788 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {4784#true} {4784#true} #81#return; {4784#true} is VALID [2022-04-08 12:22:31,788 INFO L290 TraceCheckUtils]: 15: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:31,788 INFO L290 TraceCheckUtils]: 14: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:31,788 INFO L290 TraceCheckUtils]: 13: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:31,788 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-08 12:22:31,788 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-08 12:22:31,788 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4784#true} {4784#true} #79#return; {4784#true} is VALID [2022-04-08 12:22:31,788 INFO L290 TraceCheckUtils]: 9: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:31,788 INFO L290 TraceCheckUtils]: 8: Hoare triple {4784#true} assume !(0 == ~cond); {4784#true} is VALID [2022-04-08 12:22:31,788 INFO L290 TraceCheckUtils]: 7: Hoare triple {4784#true} ~cond := #in~cond; {4784#true} is VALID [2022-04-08 12:22:31,789 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-08 12:22:31,789 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-08 12:22:31,789 INFO L272 TraceCheckUtils]: 4: Hoare triple {4784#true} call #t~ret6 := main(); {4784#true} is VALID [2022-04-08 12:22:31,789 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4784#true} {4784#true} #103#return; {4784#true} is VALID [2022-04-08 12:22:31,789 INFO L290 TraceCheckUtils]: 2: Hoare triple {4784#true} assume true; {4784#true} is VALID [2022-04-08 12:22:31,789 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-08 12:22:31,789 INFO L272 TraceCheckUtils]: 0: Hoare triple {4784#true} call ULTIMATE.init(); {4784#true} is VALID [2022-04-08 12:22:31,789 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-08 12:22:31,789 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:22:31,790 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1959849247] [2022-04-08 12:22:31,790 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:22:31,790 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [739500111] [2022-04-08 12:22:31,790 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [739500111] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:22:31,790 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:22:31,790 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8] total 13 [2022-04-08 12:22:31,790 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:22:31,790 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [410389172] [2022-04-08 12:22:31,790 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [410389172] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:22:31,790 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:22:31,791 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 12:22:31,791 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [957917947] [2022-04-08 12:22:31,791 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:22:31,791 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-08 12:22:31,791 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:22:31,791 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-08 12:22:31,828 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-08 12:22:31,829 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 12:22:31,829 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:22:31,829 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 12:22:31,829 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-08 12:22:31,829 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-08 12:22:32,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:32,574 INFO L93 Difference]: Finished difference Result 124 states and 173 transitions. [2022-04-08 12:22:32,574 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:22:32,575 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-08 12:22:32,575 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:22:32,575 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-08 12:22:32,581 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-08 12:22:32,581 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-08 12:22:32,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2022-04-08 12:22:32,583 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2022-04-08 12:22:32,651 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-08 12:22:32,652 INFO L225 Difference]: With dead ends: 124 [2022-04-08 12:22:32,653 INFO L226 Difference]: Without dead ends: 121 [2022-04-08 12:22:32,653 INFO L912 BasicCegarLoop]: 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-08 12:22:32,653 INFO L913 BasicCegarLoop]: 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-08 12:22:32,654 INFO L914 BasicCegarLoop]: 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-08 12:22:32,654 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2022-04-08 12:22:32,896 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 118. [2022-04-08 12:22:32,897 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:22:32,897 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-08 12:22:32,897 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-08 12:22:32,898 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-08 12:22:32,900 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:32,900 INFO L93 Difference]: Finished difference Result 121 states and 169 transitions. [2022-04-08 12:22:32,900 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 169 transitions. [2022-04-08 12:22:32,901 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:22:32,901 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:22:32,902 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-08 12:22:32,902 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-08 12:22:32,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:22:32,905 INFO L93 Difference]: Finished difference Result 121 states and 169 transitions. [2022-04-08 12:22:32,905 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 169 transitions. [2022-04-08 12:22:32,906 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:22:32,906 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:22:32,906 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:22:32,906 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:22:32,906 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-08 12:22:32,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 118 states to 118 states and 166 transitions. [2022-04-08 12:22:32,909 INFO L78 Accepts]: Start accepts. Automaton has 118 states and 166 transitions. Word has length 75 [2022-04-08 12:22:32,909 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:22:32,909 INFO L478 AbstractCegarLoop]: Abstraction has 118 states and 166 transitions. [2022-04-08 12:22:32,909 INFO L479 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-08 12:22:32,909 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 118 states and 166 transitions. [2022-04-08 12:22:33,112 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-08 12:22:33,112 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 166 transitions. [2022-04-08 12:22:33,113 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-08 12:22:33,113 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:22:33,113 INFO L499 BasicCegarLoop]: 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-08 12:22:33,129 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Ended with exit code 0 [2022-04-08 12:22:33,323 WARN L460 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-08 12:22:33,324 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:22:33,324 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:22:33,324 INFO L85 PathProgramCache]: Analyzing trace with hash -1245952186, now seen corresponding path program 3 times [2022-04-08 12:22:33,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:22:33,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [624672943] [2022-04-08 12:22:33,324 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:22:33,324 INFO L85 PathProgramCache]: Analyzing trace with hash -1245952186, now seen corresponding path program 4 times [2022-04-08 12:22:33,325 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:22:33,325 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1060471096] [2022-04-08 12:22:33,325 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:22:33,325 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:22:33,334 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:22:33,334 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1793121306] [2022-04-08 12:22:33,334 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:22:33,335 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:22:33,335 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:22:33,335 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-08 12:22:33,336 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-08 12:22:33,377 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:22:33,377 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:22:33,378 INFO L263 TraceCheckSpWp]: Trace formula consists of 174 conjuncts, 54 conjunts are in the unsatisfiable core [2022-04-08 12:22:33,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:22:33,399 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:22:34,390 INFO L272 TraceCheckUtils]: 0: Hoare triple {5978#true} call ULTIMATE.init(); {5978#true} is VALID [2022-04-08 12:22:34,391 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-08 12:22:34,391 INFO L290 TraceCheckUtils]: 2: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:22:34,391 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5978#true} {5978#true} #103#return; {5978#true} is VALID [2022-04-08 12:22:34,391 INFO L272 TraceCheckUtils]: 4: Hoare triple {5978#true} call #t~ret6 := main(); {5978#true} is VALID [2022-04-08 12:22:34,391 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-08 12:22:34,391 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-08 12:22:34,391 INFO L290 TraceCheckUtils]: 7: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:22:34,391 INFO L290 TraceCheckUtils]: 8: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:22:34,391 INFO L290 TraceCheckUtils]: 9: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:22:34,391 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5978#true} {5978#true} #79#return; {5978#true} is VALID [2022-04-08 12:22:34,392 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-08 12:22:34,392 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-08 12:22:34,392 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-08 12:22:34,392 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-08 12:22:34,392 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-08 12:22:34,393 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-08 12:22:34,393 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-08 12:22:34,393 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-08 12:22:34,394 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-08 12:22:34,394 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-08 12:22:34,394 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-08 12:22:34,395 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-08 12:22:34,395 INFO L290 TraceCheckUtils]: 23: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:22:34,395 INFO L290 TraceCheckUtils]: 24: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:22:34,395 INFO L290 TraceCheckUtils]: 25: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:22:34,402 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-08 12:22:34,402 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-08 12:22:34,402 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-08 12:22:34,402 INFO L290 TraceCheckUtils]: 29: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:22:34,402 INFO L290 TraceCheckUtils]: 30: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:22:34,403 INFO L290 TraceCheckUtils]: 31: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:22:34,403 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-08 12:22:34,403 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-08 12:22:34,403 INFO L290 TraceCheckUtils]: 34: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:22:34,403 INFO L290 TraceCheckUtils]: 35: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:22:34,404 INFO L290 TraceCheckUtils]: 36: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:22:34,404 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-08 12:22:34,405 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-08 12:22:34,405 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-08 12:22:34,405 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-08 12:22:34,406 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-08 12:22:34,412 INFO L290 TraceCheckUtils]: 42: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:22:34,413 INFO L290 TraceCheckUtils]: 43: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:22:34,413 INFO L290 TraceCheckUtils]: 44: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:22:34,413 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-08 12:22:34,414 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-08 12:22:34,414 INFO L290 TraceCheckUtils]: 47: Hoare triple {5978#true} ~cond := #in~cond; {6130#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:34,414 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-08 12:22:34,414 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-08 12:22:34,415 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-08 12:22:34,415 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-08 12:22:34,416 INFO L290 TraceCheckUtils]: 52: Hoare triple {5978#true} ~cond := #in~cond; {6130#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:34,416 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-08 12:22:34,416 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-08 12:22:34,417 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-08 12:22:34,417 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-08 12:22:34,417 INFO L290 TraceCheckUtils]: 57: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:22:34,417 INFO L290 TraceCheckUtils]: 58: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:22:34,417 INFO L290 TraceCheckUtils]: 59: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:22:34,418 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-08 12:22:34,418 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-08 12:22:34,419 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-08 12:22:34,419 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-08 12:22:34,420 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-08 12:22:34,420 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-08 12:22:34,420 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-08 12:22:34,420 INFO L290 TraceCheckUtils]: 67: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:22:34,420 INFO L290 TraceCheckUtils]: 68: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:22:34,421 INFO L290 TraceCheckUtils]: 69: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:22:34,421 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-08 12:22:34,421 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-08 12:22:34,421 INFO L290 TraceCheckUtils]: 72: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:22:34,421 INFO L290 TraceCheckUtils]: 73: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:22:34,422 INFO L290 TraceCheckUtils]: 74: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:22:34,422 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-08 12:22:34,423 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-08 12:22:34,423 INFO L290 TraceCheckUtils]: 77: Hoare triple {6223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:22:34,423 INFO L290 TraceCheckUtils]: 78: Hoare triple {6227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5979#false} is VALID [2022-04-08 12:22:34,423 INFO L290 TraceCheckUtils]: 79: Hoare triple {5979#false} assume !false; {5979#false} is VALID [2022-04-08 12:22:34,424 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-08 12:22:34,424 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:23:34,786 INFO L290 TraceCheckUtils]: 79: Hoare triple {5979#false} assume !false; {5979#false} is VALID [2022-04-08 12:23:34,787 INFO L290 TraceCheckUtils]: 78: Hoare triple {6227#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5979#false} is VALID [2022-04-08 12:23:34,787 INFO L290 TraceCheckUtils]: 77: Hoare triple {6223#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6227#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:23:34,788 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-08 12:23:34,788 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-08 12:23:34,788 INFO L290 TraceCheckUtils]: 74: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:23:34,789 INFO L290 TraceCheckUtils]: 73: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:23:34,789 INFO L290 TraceCheckUtils]: 72: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:23:34,789 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-08 12:23:34,789 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-08 12:23:34,789 INFO L290 TraceCheckUtils]: 69: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:23:34,790 INFO L290 TraceCheckUtils]: 68: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:23:34,790 INFO L290 TraceCheckUtils]: 67: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:23:34,790 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-08 12:23:34,790 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-08 12:23:34,790 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-08 12:23:34,791 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-08 12:23:36,792 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-08 12:23:36,793 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-08 12:23:36,794 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-08 12:23:36,794 INFO L290 TraceCheckUtils]: 59: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:23:36,794 INFO L290 TraceCheckUtils]: 58: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:23:36,794 INFO L290 TraceCheckUtils]: 57: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:23:36,794 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-08 12:23:36,795 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-08 12:23:36,795 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-08 12:23:36,795 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-08 12:23:36,796 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-08 12:23:36,796 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-08 12:23:36,797 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-08 12:23:36,797 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-08 12:23:36,797 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-08 12:23:36,798 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-08 12:23:36,798 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-08 12:23:36,799 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-08 12:23:36,799 INFO L290 TraceCheckUtils]: 44: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:23:36,799 INFO L290 TraceCheckUtils]: 43: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:23:36,799 INFO L290 TraceCheckUtils]: 42: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:23:36,799 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-08 12:23:36,799 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-08 12:23:36,800 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-08 12:23:36,800 INFO L290 TraceCheckUtils]: 38: Hoare triple {5978#true} assume !false; {5978#true} is VALID [2022-04-08 12:23:36,800 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {5978#true} {5978#true} #89#return; {5978#true} is VALID [2022-04-08 12:23:36,800 INFO L290 TraceCheckUtils]: 36: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:23:36,800 INFO L290 TraceCheckUtils]: 35: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:23:36,800 INFO L290 TraceCheckUtils]: 34: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:23:36,800 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-08 12:23:36,801 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5978#true} {5978#true} #87#return; {5978#true} is VALID [2022-04-08 12:23:36,801 INFO L290 TraceCheckUtils]: 31: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:23:36,801 INFO L290 TraceCheckUtils]: 30: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:23:36,801 INFO L290 TraceCheckUtils]: 29: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:23:36,801 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-08 12:23:36,801 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-08 12:23:36,801 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {5978#true} {5978#true} #85#return; {5978#true} is VALID [2022-04-08 12:23:36,801 INFO L290 TraceCheckUtils]: 25: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:23:36,801 INFO L290 TraceCheckUtils]: 24: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:23:36,801 INFO L290 TraceCheckUtils]: 23: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:23:36,801 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-08 12:23:36,802 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {5978#true} {5978#true} #83#return; {5978#true} is VALID [2022-04-08 12:23:36,802 INFO L290 TraceCheckUtils]: 20: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:23:36,802 INFO L290 TraceCheckUtils]: 19: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:23:36,802 INFO L290 TraceCheckUtils]: 18: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:23:36,802 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-08 12:23:36,802 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5978#true} {5978#true} #81#return; {5978#true} is VALID [2022-04-08 12:23:36,802 INFO L290 TraceCheckUtils]: 15: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:23:36,802 INFO L290 TraceCheckUtils]: 14: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:23:36,802 INFO L290 TraceCheckUtils]: 13: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:23:36,802 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-08 12:23:36,802 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-08 12:23:36,803 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5978#true} {5978#true} #79#return; {5978#true} is VALID [2022-04-08 12:23:36,803 INFO L290 TraceCheckUtils]: 9: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:23:36,803 INFO L290 TraceCheckUtils]: 8: Hoare triple {5978#true} assume !(0 == ~cond); {5978#true} is VALID [2022-04-08 12:23:36,803 INFO L290 TraceCheckUtils]: 7: Hoare triple {5978#true} ~cond := #in~cond; {5978#true} is VALID [2022-04-08 12:23:36,803 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-08 12:23:36,803 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-08 12:23:36,803 INFO L272 TraceCheckUtils]: 4: Hoare triple {5978#true} call #t~ret6 := main(); {5978#true} is VALID [2022-04-08 12:23:36,803 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5978#true} {5978#true} #103#return; {5978#true} is VALID [2022-04-08 12:23:36,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {5978#true} assume true; {5978#true} is VALID [2022-04-08 12:23:36,803 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-08 12:23:36,804 INFO L272 TraceCheckUtils]: 0: Hoare triple {5978#true} call ULTIMATE.init(); {5978#true} is VALID [2022-04-08 12:23:36,804 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-08 12:23:36,804 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:23:36,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1060471096] [2022-04-08 12:23:36,804 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:23:36,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1793121306] [2022-04-08 12:23:36,804 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1793121306] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:23:36,804 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:23:36,805 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 11] total 22 [2022-04-08 12:23:36,805 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:23:36,805 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [624672943] [2022-04-08 12:23:36,805 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [624672943] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:23:36,805 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:23:36,805 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 12:23:36,805 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1450781512] [2022-04-08 12:23:36,805 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:23:36,806 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-08 12:23:36,806 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:23:36,806 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-08 12:23:36,848 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-08 12:23:36,849 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 12:23:36,849 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:23:36,849 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 12:23:36,849 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=376, Unknown=0, NotChecked=0, Total=462 [2022-04-08 12:23:36,849 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-08 12:23:38,992 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:23:38,992 INFO L93 Difference]: Finished difference Result 130 states and 176 transitions. [2022-04-08 12:23:38,992 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 12:23:38,992 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-08 12:23:38,992 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:23:38,993 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-08 12:23:38,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 91 transitions. [2022-04-08 12:23:38,994 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-08 12:23:38,995 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 91 transitions. [2022-04-08 12:23:38,995 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 91 transitions. [2022-04-08 12:23:39,085 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-08 12:23:39,086 INFO L225 Difference]: With dead ends: 130 [2022-04-08 12:23:39,087 INFO L226 Difference]: Without dead ends: 128 [2022-04-08 12:23:39,087 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 138 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 143 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=116, Invalid=534, Unknown=0, NotChecked=0, Total=650 [2022-04-08 12:23:39,087 INFO L913 BasicCegarLoop]: 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-08 12:23:39,088 INFO L914 BasicCegarLoop]: 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-08 12:23:39,088 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-08 12:23:39,299 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 126. [2022-04-08 12:23:39,299 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:23:39,300 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-08 12:23:39,300 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-08 12:23:39,300 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-08 12:23:39,303 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:23:39,303 INFO L93 Difference]: Finished difference Result 128 states and 174 transitions. [2022-04-08 12:23:39,303 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 174 transitions. [2022-04-08 12:23:39,303 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:23:39,303 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:23:39,304 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-08 12:23:39,304 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-08 12:23:39,306 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:23:39,306 INFO L93 Difference]: Finished difference Result 128 states and 174 transitions. [2022-04-08 12:23:39,306 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 174 transitions. [2022-04-08 12:23:39,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:23:39,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:23:39,307 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:23:39,307 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:23:39,307 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-08 12:23:39,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 172 transitions. [2022-04-08 12:23:39,310 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 172 transitions. Word has length 80 [2022-04-08 12:23:39,310 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:23:39,310 INFO L478 AbstractCegarLoop]: Abstraction has 126 states and 172 transitions. [2022-04-08 12:23:39,310 INFO L479 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-08 12:23:39,310 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 126 states and 172 transitions. [2022-04-08 12:23:39,560 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-08 12:23:39,560 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 172 transitions. [2022-04-08 12:23:39,560 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-08 12:23:39,560 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:23:39,560 INFO L499 BasicCegarLoop]: 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-08 12:23:39,576 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-08 12:23:39,767 WARN L460 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-08 12:23:39,767 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:23:39,767 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:23:39,767 INFO L85 PathProgramCache]: Analyzing trace with hash 901388446, now seen corresponding path program 5 times [2022-04-08 12:23:39,767 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:23:39,767 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1415229033] [2022-04-08 12:23:39,768 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:23:39,768 INFO L85 PathProgramCache]: Analyzing trace with hash 901388446, now seen corresponding path program 6 times [2022-04-08 12:23:39,768 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:23:39,768 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1503170400] [2022-04-08 12:23:39,768 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:23:39,768 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:23:39,778 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:23:39,778 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [250749000] [2022-04-08 12:23:39,778 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:23:39,778 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:23:39,778 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:23:39,779 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-08 12:23:39,782 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-08 12:23:39,827 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 12:23:39,827 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:23:39,828 INFO L263 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 40 conjunts are in the unsatisfiable core [2022-04-08 12:23:39,843 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:23:39,846 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:23:40,374 INFO L272 TraceCheckUtils]: 0: Hoare triple {7255#true} call ULTIMATE.init(); {7255#true} is VALID [2022-04-08 12:23:40,374 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-08 12:23:40,375 INFO L290 TraceCheckUtils]: 2: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-08 12:23:40,375 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7255#true} {7255#true} #103#return; {7255#true} is VALID [2022-04-08 12:23:40,375 INFO L272 TraceCheckUtils]: 4: Hoare triple {7255#true} call #t~ret6 := main(); {7255#true} is VALID [2022-04-08 12:23:40,375 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-08 12:23:40,375 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-08 12:23:40,375 INFO L290 TraceCheckUtils]: 7: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-08 12:23:40,375 INFO L290 TraceCheckUtils]: 8: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-08 12:23:40,375 INFO L290 TraceCheckUtils]: 9: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-08 12:23:40,375 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7255#true} {7255#true} #79#return; {7255#true} is VALID [2022-04-08 12:23:40,375 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-08 12:23:40,376 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-08 12:23:40,376 INFO L290 TraceCheckUtils]: 13: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-08 12:23:40,376 INFO L290 TraceCheckUtils]: 14: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-08 12:23:40,376 INFO L290 TraceCheckUtils]: 15: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-08 12:23:40,376 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {7255#true} {7255#true} #81#return; {7255#true} is VALID [2022-04-08 12:23:40,376 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-08 12:23:40,376 INFO L290 TraceCheckUtils]: 18: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-08 12:23:40,376 INFO L290 TraceCheckUtils]: 19: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-08 12:23:40,376 INFO L290 TraceCheckUtils]: 20: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-08 12:23:40,376 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {7255#true} {7255#true} #83#return; {7255#true} is VALID [2022-04-08 12:23:40,376 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-08 12:23:40,377 INFO L290 TraceCheckUtils]: 23: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-08 12:23:40,377 INFO L290 TraceCheckUtils]: 24: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-08 12:23:40,377 INFO L290 TraceCheckUtils]: 25: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-08 12:23:40,377 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {7255#true} {7255#true} #85#return; {7255#true} is VALID [2022-04-08 12:23:40,377 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-08 12:23:40,377 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-08 12:23:40,378 INFO L290 TraceCheckUtils]: 29: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-08 12:23:40,378 INFO L290 TraceCheckUtils]: 30: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-08 12:23:40,378 INFO L290 TraceCheckUtils]: 31: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-08 12:23:40,378 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-08 12:23:40,378 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-08 12:23:40,378 INFO L290 TraceCheckUtils]: 34: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-08 12:23:40,378 INFO L290 TraceCheckUtils]: 35: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-08 12:23:40,379 INFO L290 TraceCheckUtils]: 36: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-08 12:23:40,379 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-08 12:23:40,379 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-08 12:23:40,380 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-08 12:23:40,380 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-08 12:23:40,380 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-08 12:23:40,380 INFO L290 TraceCheckUtils]: 42: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-08 12:23:40,381 INFO L290 TraceCheckUtils]: 43: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-08 12:23:40,381 INFO L290 TraceCheckUtils]: 44: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-08 12:23:40,381 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-08 12:23:40,381 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-08 12:23:40,381 INFO L290 TraceCheckUtils]: 47: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-08 12:23:40,381 INFO L290 TraceCheckUtils]: 48: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-08 12:23:40,382 INFO L290 TraceCheckUtils]: 49: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-08 12:23:40,382 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-08 12:23:40,382 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-08 12:23:40,382 INFO L290 TraceCheckUtils]: 52: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-08 12:23:40,382 INFO L290 TraceCheckUtils]: 53: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-08 12:23:40,382 INFO L290 TraceCheckUtils]: 54: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-08 12:23:40,383 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-08 12:23:40,383 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-08 12:23:40,383 INFO L290 TraceCheckUtils]: 57: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-08 12:23:40,383 INFO L290 TraceCheckUtils]: 58: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-08 12:23:40,383 INFO L290 TraceCheckUtils]: 59: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-08 12:23:40,385 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-08 12:23:40,386 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-08 12:23:40,387 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-08 12:23:40,388 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-08 12:23:40,389 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-08 12:23:40,391 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-08 12:23:40,391 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-08 12:23:40,391 INFO L290 TraceCheckUtils]: 67: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-08 12:23:40,391 INFO L290 TraceCheckUtils]: 68: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-08 12:23:40,391 INFO L290 TraceCheckUtils]: 69: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-08 12:23:40,392 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-08 12:23:40,393 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-08 12:23:40,393 INFO L290 TraceCheckUtils]: 72: Hoare triple {7255#true} ~cond := #in~cond; {7255#true} is VALID [2022-04-08 12:23:40,393 INFO L290 TraceCheckUtils]: 73: Hoare triple {7255#true} assume !(0 == ~cond); {7255#true} is VALID [2022-04-08 12:23:40,393 INFO L290 TraceCheckUtils]: 74: Hoare triple {7255#true} assume true; {7255#true} is VALID [2022-04-08 12:23:40,393 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-08 12:23:40,394 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-08 12:23:40,396 INFO L290 TraceCheckUtils]: 77: Hoare triple {7255#true} ~cond := #in~cond; {7495#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:23:40,396 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-08 12:23:40,396 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-08 12:23:40,397 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-08 12:23:40,400 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-08 12:23:40,400 INFO L290 TraceCheckUtils]: 82: Hoare triple {7510#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {7514#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:23:40,400 INFO L290 TraceCheckUtils]: 83: Hoare triple {7514#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {7256#false} is VALID [2022-04-08 12:23:40,401 INFO L290 TraceCheckUtils]: 84: Hoare triple {7256#false} assume !false; {7256#false} is VALID [2022-04-08 12:23:40,401 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-08 12:23:40,401 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:24:26,446 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:24:26,446 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1503170400] [2022-04-08 12:24:26,446 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:24:26,446 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [250749000] [2022-04-08 12:24:26,446 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [250749000] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 12:24:26,446 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:24:26,447 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11] total 11 [2022-04-08 12:24:26,447 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:24:26,447 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1415229033] [2022-04-08 12:24:26,447 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1415229033] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:24:26,447 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:24:26,447 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 12:24:26,447 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2034725099] [2022-04-08 12:24:26,447 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:24:26,448 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-08 12:24:26,448 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:24:26,448 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-08 12:24:26,490 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-08 12:24:26,490 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 12:24:26,490 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:24:26,491 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 12:24:26,491 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=31, Invalid=125, Unknown=0, NotChecked=0, Total=156 [2022-04-08 12:24:26,491 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-08 12:24:27,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:24:27,687 INFO L93 Difference]: Finished difference Result 138 states and 182 transitions. [2022-04-08 12:24:27,687 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 12:24:27,687 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-08 12:24:27,688 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:24:27,688 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-08 12:24:27,689 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2022-04-08 12:24:27,689 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-08 12:24:27,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2022-04-08 12:24:27,690 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 98 transitions. [2022-04-08 12:24:27,778 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-08 12:24:27,780 INFO L225 Difference]: With dead ends: 138 [2022-04-08 12:24:27,780 INFO L226 Difference]: Without dead ends: 136 [2022-04-08 12:24:27,780 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 77 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=53, Invalid=219, Unknown=0, NotChecked=0, Total=272 [2022-04-08 12:24:27,781 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 27 mSDsluCounter, 176 mSDsCounter, 0 mSdLazyCounter, 339 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s 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.4s IncrementalHoareTripleChecker+Time [2022-04-08 12:24:27,781 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [34 Valid, 220 Invalid, 360 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 339 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 12:24:27,781 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2022-04-08 12:24:28,022 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 134. [2022-04-08 12:24:28,022 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:24:28,022 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-08 12:24:28,023 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-08 12:24:28,023 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-08 12:24:28,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:24:28,026 INFO L93 Difference]: Finished difference Result 136 states and 180 transitions. [2022-04-08 12:24:28,026 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 180 transitions. [2022-04-08 12:24:28,026 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:24:28,026 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:24:28,026 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-08 12:24:28,027 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-08 12:24:28,029 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:24:28,029 INFO L93 Difference]: Finished difference Result 136 states and 180 transitions. [2022-04-08 12:24:28,029 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 180 transitions. [2022-04-08 12:24:28,030 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:24:28,030 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:24:28,030 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:24:28,030 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:24:28,030 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-08 12:24:28,033 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 178 transitions. [2022-04-08 12:24:28,033 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 178 transitions. Word has length 85 [2022-04-08 12:24:28,033 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:24:28,033 INFO L478 AbstractCegarLoop]: Abstraction has 134 states and 178 transitions. [2022-04-08 12:24:28,033 INFO L479 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-08 12:24:28,033 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 134 states and 178 transitions. [2022-04-08 12:24:28,274 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-08 12:24:28,275 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 178 transitions. [2022-04-08 12:24:28,275 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-04-08 12:24:28,275 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:24:28,275 INFO L499 BasicCegarLoop]: 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-08 12:24:28,293 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-08 12:24:28,491 WARN L460 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-08 12:24:28,492 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:24:28,492 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:24:28,492 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 1 times [2022-04-08 12:24:28,492 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:24:28,492 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1797075650] [2022-04-08 12:24:28,493 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:24:28,493 INFO L85 PathProgramCache]: Analyzing trace with hash -686534738, now seen corresponding path program 2 times [2022-04-08 12:24:28,493 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:24:28,493 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1903393149] [2022-04-08 12:24:28,493 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:24:28,493 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:24:28,503 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:24:28,504 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [39263015] [2022-04-08 12:24:28,504 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:24:28,504 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:24:28,504 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:24:28,505 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-08 12:24:28,506 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-08 12:24:28,552 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:24:28,552 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:24:28,553 INFO L263 TraceCheckSpWp]: Trace formula consists of 233 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-08 12:24:28,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:24:28,566 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:24:29,171 INFO L272 TraceCheckUtils]: 0: Hoare triple {8361#true} call ULTIMATE.init(); {8361#true} is VALID [2022-04-08 12:24:29,172 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-08 12:24:29,172 INFO L290 TraceCheckUtils]: 2: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:29,172 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8361#true} {8361#true} #103#return; {8361#true} is VALID [2022-04-08 12:24:29,172 INFO L272 TraceCheckUtils]: 4: Hoare triple {8361#true} call #t~ret6 := main(); {8361#true} is VALID [2022-04-08 12:24:29,172 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-08 12:24:29,172 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-08 12:24:29,172 INFO L290 TraceCheckUtils]: 7: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:29,172 INFO L290 TraceCheckUtils]: 8: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:29,172 INFO L290 TraceCheckUtils]: 9: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:29,172 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8361#true} {8361#true} #79#return; {8361#true} is VALID [2022-04-08 12:24:29,172 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-08 12:24:29,173 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-08 12:24:29,173 INFO L290 TraceCheckUtils]: 13: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:29,173 INFO L290 TraceCheckUtils]: 14: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:29,173 INFO L290 TraceCheckUtils]: 15: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:29,173 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8361#true} {8361#true} #81#return; {8361#true} is VALID [2022-04-08 12:24:29,173 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-08 12:24:29,173 INFO L290 TraceCheckUtils]: 18: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:29,173 INFO L290 TraceCheckUtils]: 19: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:29,173 INFO L290 TraceCheckUtils]: 20: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:29,173 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8361#true} {8361#true} #83#return; {8361#true} is VALID [2022-04-08 12:24:29,174 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-08 12:24:29,174 INFO L290 TraceCheckUtils]: 23: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:29,174 INFO L290 TraceCheckUtils]: 24: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:29,174 INFO L290 TraceCheckUtils]: 25: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:29,174 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8361#true} {8361#true} #85#return; {8361#true} is VALID [2022-04-08 12:24:29,174 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-08 12:24:29,174 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-08 12:24:29,175 INFO L290 TraceCheckUtils]: 29: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:29,175 INFO L290 TraceCheckUtils]: 30: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:29,175 INFO L290 TraceCheckUtils]: 31: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:29,175 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-08 12:24:29,175 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-08 12:24:29,176 INFO L290 TraceCheckUtils]: 34: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:29,176 INFO L290 TraceCheckUtils]: 35: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:29,176 INFO L290 TraceCheckUtils]: 36: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:29,176 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-08 12:24:29,177 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-08 12:24:29,177 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-08 12:24:29,178 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-08 12:24:29,178 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-08 12:24:29,178 INFO L290 TraceCheckUtils]: 42: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:29,178 INFO L290 TraceCheckUtils]: 43: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:29,178 INFO L290 TraceCheckUtils]: 44: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:29,179 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-08 12:24:29,179 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-08 12:24:29,179 INFO L290 TraceCheckUtils]: 47: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:29,179 INFO L290 TraceCheckUtils]: 48: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:29,179 INFO L290 TraceCheckUtils]: 49: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:29,180 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-08 12:24:29,180 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-08 12:24:29,180 INFO L290 TraceCheckUtils]: 52: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:29,180 INFO L290 TraceCheckUtils]: 53: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:29,180 INFO L290 TraceCheckUtils]: 54: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:29,181 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-08 12:24:29,181 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-08 12:24:29,181 INFO L290 TraceCheckUtils]: 57: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:29,181 INFO L290 TraceCheckUtils]: 58: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:29,181 INFO L290 TraceCheckUtils]: 59: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:29,182 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-08 12:24:29,182 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-08 12:24:29,183 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-08 12:24:29,183 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-08 12:24:29,183 INFO L290 TraceCheckUtils]: 64: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:29,183 INFO L290 TraceCheckUtils]: 65: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:29,183 INFO L290 TraceCheckUtils]: 66: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:29,184 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-08 12:24:29,184 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-08 12:24:29,184 INFO L290 TraceCheckUtils]: 69: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:29,184 INFO L290 TraceCheckUtils]: 70: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:29,184 INFO L290 TraceCheckUtils]: 71: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:29,185 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-08 12:24:29,185 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-08 12:24:29,185 INFO L290 TraceCheckUtils]: 74: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:29,185 INFO L290 TraceCheckUtils]: 75: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:29,185 INFO L290 TraceCheckUtils]: 76: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:29,186 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-08 12:24:29,186 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-08 12:24:29,186 INFO L290 TraceCheckUtils]: 79: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:29,186 INFO L290 TraceCheckUtils]: 80: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:29,186 INFO L290 TraceCheckUtils]: 81: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:29,187 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-08 12:24:29,187 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-08 12:24:29,188 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-08 12:24:29,189 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-08 12:24:29,189 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-08 12:24:29,190 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-08 12:24:29,190 INFO L290 TraceCheckUtils]: 88: Hoare triple {8633#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8637#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:24:29,190 INFO L290 TraceCheckUtils]: 89: Hoare triple {8637#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8362#false} is VALID [2022-04-08 12:24:29,190 INFO L290 TraceCheckUtils]: 90: Hoare triple {8362#false} assume !false; {8362#false} is VALID [2022-04-08 12:24:29,191 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-08 12:24:29,191 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:24:29,987 INFO L290 TraceCheckUtils]: 90: Hoare triple {8362#false} assume !false; {8362#false} is VALID [2022-04-08 12:24:29,987 INFO L290 TraceCheckUtils]: 89: Hoare triple {8637#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8362#false} is VALID [2022-04-08 12:24:29,988 INFO L290 TraceCheckUtils]: 88: Hoare triple {8633#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8637#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:24:29,988 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-08 12:24:29,989 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-08 12:24:29,989 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-08 12:24:30,569 INFO 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 VALID [2022-04-08 12:24:30,569 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-08 12:24:30,570 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-08 12:24:30,570 INFO L290 TraceCheckUtils]: 81: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:30,570 INFO L290 TraceCheckUtils]: 80: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:30,571 INFO L290 TraceCheckUtils]: 79: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:30,571 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-08 12:24:30,571 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-08 12:24:30,571 INFO L290 TraceCheckUtils]: 76: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:30,571 INFO L290 TraceCheckUtils]: 75: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:30,572 INFO L290 TraceCheckUtils]: 74: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:30,572 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-08 12:24:30,572 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-08 12:24:30,572 INFO L290 TraceCheckUtils]: 71: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:30,572 INFO L290 TraceCheckUtils]: 70: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:30,573 INFO L290 TraceCheckUtils]: 69: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:30,573 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-08 12:24:30,573 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-08 12:24:30,573 INFO L290 TraceCheckUtils]: 66: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:30,573 INFO L290 TraceCheckUtils]: 65: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:30,574 INFO L290 TraceCheckUtils]: 64: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:30,574 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-08 12:24:30,574 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-08 12:24:30,811 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-08 12:24:30,812 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-08 12:24:30,812 INFO L290 TraceCheckUtils]: 59: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:30,812 INFO L290 TraceCheckUtils]: 58: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:30,812 INFO L290 TraceCheckUtils]: 57: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:30,812 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-08 12:24:30,813 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-08 12:24:30,813 INFO L290 TraceCheckUtils]: 54: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:30,813 INFO L290 TraceCheckUtils]: 53: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:30,813 INFO L290 TraceCheckUtils]: 52: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:30,813 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-08 12:24:30,814 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-08 12:24:30,814 INFO L290 TraceCheckUtils]: 49: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:30,814 INFO L290 TraceCheckUtils]: 48: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:30,814 INFO L290 TraceCheckUtils]: 47: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:30,814 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-08 12:24:30,815 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-08 12:24:30,815 INFO L290 TraceCheckUtils]: 44: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:30,815 INFO L290 TraceCheckUtils]: 43: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:30,815 INFO L290 TraceCheckUtils]: 42: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:30,815 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-08 12:24:30,816 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-08 12:24:30,816 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-08 12:24:30,817 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-08 12:24:30,817 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-08 12:24:30,817 INFO L290 TraceCheckUtils]: 36: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:30,817 INFO L290 TraceCheckUtils]: 35: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:30,818 INFO L290 TraceCheckUtils]: 34: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:30,823 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-08 12:24:30,824 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-08 12:24:30,824 INFO L290 TraceCheckUtils]: 31: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:30,824 INFO L290 TraceCheckUtils]: 30: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:30,824 INFO L290 TraceCheckUtils]: 29: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:30,825 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-08 12:24:30,825 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-08 12:24:30,825 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {8361#true} {8361#true} #85#return; {8361#true} is VALID [2022-04-08 12:24:30,825 INFO L290 TraceCheckUtils]: 25: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:30,825 INFO L290 TraceCheckUtils]: 24: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:30,825 INFO L290 TraceCheckUtils]: 23: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:30,826 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-08 12:24:30,826 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {8361#true} {8361#true} #83#return; {8361#true} is VALID [2022-04-08 12:24:30,826 INFO L290 TraceCheckUtils]: 20: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:30,826 INFO L290 TraceCheckUtils]: 19: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:30,826 INFO L290 TraceCheckUtils]: 18: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:30,826 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-08 12:24:30,826 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {8361#true} {8361#true} #81#return; {8361#true} is VALID [2022-04-08 12:24:30,826 INFO L290 TraceCheckUtils]: 15: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:30,826 INFO L290 TraceCheckUtils]: 14: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:30,826 INFO L290 TraceCheckUtils]: 13: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:30,827 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-08 12:24:30,827 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-08 12:24:30,827 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8361#true} {8361#true} #79#return; {8361#true} is VALID [2022-04-08 12:24:30,827 INFO L290 TraceCheckUtils]: 9: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:30,827 INFO L290 TraceCheckUtils]: 8: Hoare triple {8361#true} assume !(0 == ~cond); {8361#true} is VALID [2022-04-08 12:24:30,827 INFO L290 TraceCheckUtils]: 7: Hoare triple {8361#true} ~cond := #in~cond; {8361#true} is VALID [2022-04-08 12:24:30,827 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-08 12:24:30,827 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-08 12:24:30,827 INFO L272 TraceCheckUtils]: 4: Hoare triple {8361#true} call #t~ret6 := main(); {8361#true} is VALID [2022-04-08 12:24:30,827 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8361#true} {8361#true} #103#return; {8361#true} is VALID [2022-04-08 12:24:30,827 INFO L290 TraceCheckUtils]: 2: Hoare triple {8361#true} assume true; {8361#true} is VALID [2022-04-08 12:24:30,828 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-08 12:24:30,828 INFO L272 TraceCheckUtils]: 0: Hoare triple {8361#true} call ULTIMATE.init(); {8361#true} is VALID [2022-04-08 12:24:30,828 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-08 12:24:30,828 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:24:30,828 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1903393149] [2022-04-08 12:24:30,828 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:24:30,828 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [39263015] [2022-04-08 12:24:30,829 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [39263015] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:24:30,829 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:24:30,829 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-08 12:24:30,829 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:24:30,829 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1797075650] [2022-04-08 12:24:30,829 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1797075650] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:24:30,829 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:24:30,829 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 12:24:30,829 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [173328039] [2022-04-08 12:24:30,829 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:24:30,830 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-08 12:24:30,830 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:24:30,830 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-08 12:24:30,877 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-08 12:24:30,877 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 12:24:30,877 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:24:30,877 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 12:24:30,877 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=194, Unknown=0, NotChecked=0, Total=240 [2022-04-08 12:24:30,878 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-08 12:24:32,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:24:32,379 INFO L93 Difference]: Finished difference Result 161 states and 214 transitions. [2022-04-08 12:24:32,379 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 12:24:32,379 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-08 12:24:32,379 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:24:32,380 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-08 12:24:32,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 105 transitions. [2022-04-08 12:24:32,381 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-08 12:24:32,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 105 transitions. [2022-04-08 12:24:32,382 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 105 transitions. [2022-04-08 12:24:32,492 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-08 12:24:32,494 INFO L225 Difference]: With dead ends: 161 [2022-04-08 12:24:32,494 INFO L226 Difference]: Without dead ends: 158 [2022-04-08 12:24:32,494 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 186 GetRequests, 166 SyntacticMatches, 1 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=88, Invalid=332, Unknown=0, NotChecked=0, Total=420 [2022-04-08 12:24:32,495 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 20 mSDsluCounter, 245 mSDsCounter, 0 mSdLazyCounter, 375 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-08 12:24:32,495 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 302 Invalid, 394 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 375 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 12:24:32,495 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 158 states. [2022-04-08 12:24:32,761 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 158 to 157. [2022-04-08 12:24:32,761 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:24:32,761 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-08 12:24:32,762 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-08 12:24:32,762 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-08 12:24:32,765 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:24:32,765 INFO L93 Difference]: Finished difference Result 158 states and 210 transitions. [2022-04-08 12:24:32,765 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 210 transitions. [2022-04-08 12:24:32,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:24:32,766 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:24:32,766 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-08 12:24:32,766 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-08 12:24:32,769 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:24:32,769 INFO L93 Difference]: Finished difference Result 158 states and 210 transitions. [2022-04-08 12:24:32,769 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 210 transitions. [2022-04-08 12:24:32,769 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:24:32,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:24:32,770 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:24:32,770 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:24:32,770 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-08 12:24:32,773 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 157 states to 157 states and 209 transitions. [2022-04-08 12:24:32,773 INFO L78 Accepts]: Start accepts. Automaton has 157 states and 209 transitions. Word has length 91 [2022-04-08 12:24:32,773 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:24:32,773 INFO L478 AbstractCegarLoop]: Abstraction has 157 states and 209 transitions. [2022-04-08 12:24:32,773 INFO L479 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-08 12:24:32,773 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 157 states and 209 transitions. [2022-04-08 12:24:33,079 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-08 12:24:33,080 INFO L276 IsEmpty]: Start isEmpty. Operand 157 states and 209 transitions. [2022-04-08 12:24:33,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 101 [2022-04-08 12:24:33,080 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:24:33,081 INFO L499 BasicCegarLoop]: 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-08 12:24:33,097 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-08 12:24:33,297 WARN L460 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-08 12:24:33,297 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:24:33,297 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:24:33,297 INFO L85 PathProgramCache]: Analyzing trace with hash -663071842, now seen corresponding path program 7 times [2022-04-08 12:24:33,297 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:24:33,297 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1692273662] [2022-04-08 12:24:33,298 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:24:33,298 INFO L85 PathProgramCache]: Analyzing trace with hash -663071842, now seen corresponding path program 8 times [2022-04-08 12:24:33,298 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:24:33,298 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [514319331] [2022-04-08 12:24:33,298 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:24:33,298 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:24:33,308 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:24:33,308 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [22817340] [2022-04-08 12:24:33,308 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:24:33,308 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:24:33,308 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:24:33,309 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-08 12:24:33,310 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-08 12:24:33,363 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:24:33,364 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:24:33,364 INFO L263 TraceCheckSpWp]: Trace formula consists of 262 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 12:24:33,377 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:24:33,378 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:24:33,572 INFO L272 TraceCheckUtils]: 0: Hoare triple {9884#true} call ULTIMATE.init(); {9884#true} is VALID [2022-04-08 12:24:33,572 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-08 12:24:33,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-08 12:24:33,573 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9884#true} {9884#true} #103#return; {9884#true} is VALID [2022-04-08 12:24:33,573 INFO L272 TraceCheckUtils]: 4: Hoare triple {9884#true} call #t~ret6 := main(); {9884#true} is VALID [2022-04-08 12:24:33,573 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-08 12:24:33,573 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-08 12:24:33,573 INFO L290 TraceCheckUtils]: 7: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-08 12:24:33,573 INFO L290 TraceCheckUtils]: 8: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-08 12:24:33,573 INFO L290 TraceCheckUtils]: 9: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-08 12:24:33,573 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9884#true} {9884#true} #79#return; {9884#true} is VALID [2022-04-08 12:24:33,573 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-08 12:24:33,573 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-08 12:24:33,574 INFO L290 TraceCheckUtils]: 13: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-08 12:24:33,574 INFO L290 TraceCheckUtils]: 14: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-08 12:24:33,574 INFO L290 TraceCheckUtils]: 15: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-08 12:24:33,574 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {9884#true} {9884#true} #81#return; {9884#true} is VALID [2022-04-08 12:24:33,574 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-08 12:24:33,574 INFO L290 TraceCheckUtils]: 18: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-08 12:24:33,574 INFO L290 TraceCheckUtils]: 19: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-08 12:24:33,574 INFO L290 TraceCheckUtils]: 20: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-08 12:24:33,574 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {9884#true} {9884#true} #83#return; {9884#true} is VALID [2022-04-08 12:24:33,574 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-08 12:24:33,574 INFO L290 TraceCheckUtils]: 23: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-08 12:24:33,575 INFO L290 TraceCheckUtils]: 24: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-08 12:24:33,575 INFO L290 TraceCheckUtils]: 25: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-08 12:24:33,575 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {9884#true} {9884#true} #85#return; {9884#true} is VALID [2022-04-08 12:24:33,575 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-08 12:24:33,575 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-08 12:24:33,575 INFO L290 TraceCheckUtils]: 29: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-08 12:24:33,575 INFO L290 TraceCheckUtils]: 30: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-08 12:24:33,575 INFO L290 TraceCheckUtils]: 31: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-08 12:24:33,575 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9884#true} {9884#true} #87#return; {9884#true} is VALID [2022-04-08 12:24:33,575 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-08 12:24:33,576 INFO L290 TraceCheckUtils]: 34: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-08 12:24:33,576 INFO L290 TraceCheckUtils]: 35: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-08 12:24:33,576 INFO L290 TraceCheckUtils]: 36: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-08 12:24:33,576 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {9884#true} {9884#true} #89#return; {9884#true} is VALID [2022-04-08 12:24:33,576 INFO L290 TraceCheckUtils]: 38: Hoare triple {9884#true} assume !false; {9884#true} is VALID [2022-04-08 12:24:33,576 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-08 12:24:33,576 INFO L290 TraceCheckUtils]: 40: Hoare triple {9884#true} assume !false; {9884#true} is VALID [2022-04-08 12:24:33,576 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-08 12:24:33,576 INFO L290 TraceCheckUtils]: 42: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-08 12:24:33,576 INFO L290 TraceCheckUtils]: 43: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-08 12:24:33,576 INFO L290 TraceCheckUtils]: 44: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-08 12:24:33,577 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9884#true} {9884#true} #91#return; {9884#true} is VALID [2022-04-08 12:24:33,577 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-08 12:24:33,577 INFO L290 TraceCheckUtils]: 47: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-08 12:24:33,577 INFO L290 TraceCheckUtils]: 48: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-08 12:24:33,577 INFO L290 TraceCheckUtils]: 49: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-08 12:24:33,577 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9884#true} {9884#true} #93#return; {9884#true} is VALID [2022-04-08 12:24:33,577 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-08 12:24:33,577 INFO L290 TraceCheckUtils]: 52: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-08 12:24:33,577 INFO L290 TraceCheckUtils]: 53: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-08 12:24:33,577 INFO L290 TraceCheckUtils]: 54: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-08 12:24:33,577 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {9884#true} {9884#true} #95#return; {9884#true} is VALID [2022-04-08 12:24:33,578 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-08 12:24:33,578 INFO L290 TraceCheckUtils]: 57: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-08 12:24:33,578 INFO L290 TraceCheckUtils]: 58: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-08 12:24:33,578 INFO L290 TraceCheckUtils]: 59: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-08 12:24:33,578 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {9884#true} {9884#true} #97#return; {9884#true} is VALID [2022-04-08 12:24:33,578 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-08 12:24:33,579 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-08 12:24:33,579 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-08 12:24:33,579 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-08 12:24:33,580 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-08 12:24:33,580 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-08 12:24:33,580 INFO L290 TraceCheckUtils]: 67: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-08 12:24:33,580 INFO L290 TraceCheckUtils]: 68: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-08 12:24:33,580 INFO L290 TraceCheckUtils]: 69: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-08 12:24:33,581 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-08 12:24:33,581 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-08 12:24:33,581 INFO L290 TraceCheckUtils]: 72: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-08 12:24:33,581 INFO L290 TraceCheckUtils]: 73: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-08 12:24:33,581 INFO L290 TraceCheckUtils]: 74: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-08 12:24:33,582 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-08 12:24:33,582 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-08 12:24:33,582 INFO L290 TraceCheckUtils]: 77: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-08 12:24:33,582 INFO L290 TraceCheckUtils]: 78: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-08 12:24:33,582 INFO L290 TraceCheckUtils]: 79: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-08 12:24:33,582 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-08 12:24:33,583 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-08 12:24:33,583 INFO L290 TraceCheckUtils]: 82: Hoare triple {9884#true} ~cond := #in~cond; {9884#true} is VALID [2022-04-08 12:24:33,583 INFO L290 TraceCheckUtils]: 83: Hoare triple {9884#true} assume !(0 == ~cond); {9884#true} is VALID [2022-04-08 12:24:33,583 INFO L290 TraceCheckUtils]: 84: Hoare triple {9884#true} assume true; {9884#true} is VALID [2022-04-08 12:24:33,583 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-08 12:24:33,584 INFO L290 TraceCheckUtils]: 86: Hoare triple {10083#(< main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {9885#false} is VALID [2022-04-08 12:24:33,584 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-08 12:24:33,584 INFO L290 TraceCheckUtils]: 88: Hoare triple {9885#false} assume !false; {9885#false} is VALID [2022-04-08 12:24:33,584 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-08 12:24:33,584 INFO L290 TraceCheckUtils]: 90: Hoare triple {9885#false} assume !false; {9885#false} is VALID [2022-04-08 12:24:33,584 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-08 12:24:33,584 INFO L290 TraceCheckUtils]: 92: Hoare triple {9885#false} ~cond := #in~cond; {9885#false} is VALID [2022-04-08 12:24:33,585 INFO L290 TraceCheckUtils]: 93: Hoare triple {9885#false} assume !(0 == ~cond); {9885#false} is VALID [2022-04-08 12:24:33,585 INFO L290 TraceCheckUtils]: 94: Hoare triple {9885#false} assume true; {9885#false} is VALID [2022-04-08 12:24:33,585 INFO L284 TraceCheckUtils]: 95: Hoare quadruple {9885#false} {9885#false} #91#return; {9885#false} is VALID [2022-04-08 12:24:33,585 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-08 12:24:33,585 INFO L290 TraceCheckUtils]: 97: Hoare triple {9885#false} ~cond := #in~cond; {9885#false} is VALID [2022-04-08 12:24:33,585 INFO L290 TraceCheckUtils]: 98: Hoare triple {9885#false} assume 0 == ~cond; {9885#false} is VALID [2022-04-08 12:24:33,585 INFO L290 TraceCheckUtils]: 99: Hoare triple {9885#false} assume !false; {9885#false} is VALID [2022-04-08 12:24:33,585 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-08 12:24:33,585 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 12:24:33,586 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:24:33,586 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [514319331] [2022-04-08 12:24:33,586 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:24:33,586 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [22817340] [2022-04-08 12:24:33,586 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [22817340] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:24:33,586 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:24:33,586 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:24:33,586 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:24:33,586 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1692273662] [2022-04-08 12:24:33,586 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1692273662] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:24:33,586 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:24:33,587 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 12:24:33,587 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1934542748] [2022-04-08 12:24:33,587 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:24:33,587 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-08 12:24:33,587 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:24:33,587 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-08 12:24:33,626 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-08 12:24:33,626 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 12:24:33,626 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:24:33,626 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 12:24:33,626 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 12:24:33,627 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-08 12:24:34,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:24:34,134 INFO L93 Difference]: Finished difference Result 205 states and 283 transitions. [2022-04-08 12:24:34,134 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-08 12:24:34,134 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-08 12:24:34,135 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:24:34,135 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-08 12:24:34,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 94 transitions. [2022-04-08 12:24:34,136 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-08 12:24:34,137 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 94 transitions. [2022-04-08 12:24:34,137 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 94 transitions. [2022-04-08 12:24:34,215 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-08 12:24:34,218 INFO L225 Difference]: With dead ends: 205 [2022-04-08 12:24:34,218 INFO L226 Difference]: Without dead ends: 160 [2022-04-08 12:24:34,221 INFO L912 BasicCegarLoop]: 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-08 12:24:34,222 INFO L913 BasicCegarLoop]: 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-08 12:24:34,222 INFO L914 BasicCegarLoop]: 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-08 12:24:34,222 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-04-08 12:24:34,553 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 151. [2022-04-08 12:24:34,553 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:24:34,554 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-08 12:24:34,554 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-08 12:24:34,554 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-08 12:24:34,557 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:24:34,558 INFO L93 Difference]: Finished difference Result 160 states and 212 transitions. [2022-04-08 12:24:34,558 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 212 transitions. [2022-04-08 12:24:34,558 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:24:34,558 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:24:34,558 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-08 12:24:34,559 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-08 12:24:34,562 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:24:34,562 INFO L93 Difference]: Finished difference Result 160 states and 212 transitions. [2022-04-08 12:24:34,562 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 212 transitions. [2022-04-08 12:24:34,563 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:24:34,563 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:24:34,563 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:24:34,563 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:24:34,563 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-08 12:24:34,566 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 151 states to 151 states and 198 transitions. [2022-04-08 12:24:34,567 INFO L78 Accepts]: Start accepts. Automaton has 151 states and 198 transitions. Word has length 100 [2022-04-08 12:24:34,567 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:24:34,567 INFO L478 AbstractCegarLoop]: Abstraction has 151 states and 198 transitions. [2022-04-08 12:24:34,571 INFO L479 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-08 12:24:34,572 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 151 states and 198 transitions. [2022-04-08 12:24:34,889 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-08 12:24:34,890 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 198 transitions. [2022-04-08 12:24:34,890 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 108 [2022-04-08 12:24:34,890 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:24:34,890 INFO L499 BasicCegarLoop]: 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-08 12:24:34,909 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-08 12:24:35,091 WARN L460 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-08 12:24:35,091 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:24:35,091 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:24:35,091 INFO L85 PathProgramCache]: Analyzing trace with hash -428114403, now seen corresponding path program 1 times [2022-04-08 12:24:35,091 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:24:35,092 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1844135699] [2022-04-08 12:24:35,092 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:24:35,092 INFO L85 PathProgramCache]: Analyzing trace with hash -428114403, now seen corresponding path program 2 times [2022-04-08 12:24:35,092 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:24:35,092 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1030633182] [2022-04-08 12:24:35,092 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:24:35,093 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:24:35,106 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:24:35,106 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1072222514] [2022-04-08 12:24:35,106 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:24:35,106 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:24:35,106 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:24:35,115 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-08 12:24:35,120 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-08 12:24:35,168 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:24:35,168 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:24:35,169 INFO L263 TraceCheckSpWp]: Trace formula consists of 264 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 12:24:35,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:24:35,184 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:24:35,568 INFO L272 TraceCheckUtils]: 0: Hoare triple {11224#true} call ULTIMATE.init(); {11224#true} is VALID [2022-04-08 12:24:35,568 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-08 12:24:35,568 INFO L290 TraceCheckUtils]: 2: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:35,568 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11224#true} {11224#true} #103#return; {11224#true} is VALID [2022-04-08 12:24:35,568 INFO L272 TraceCheckUtils]: 4: Hoare triple {11224#true} call #t~ret6 := main(); {11224#true} is VALID [2022-04-08 12:24:35,569 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-08 12:24:35,569 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-08 12:24:35,569 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-08 12:24:35,569 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-08 12:24:35,570 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-08 12:24:35,570 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-08 12:24:35,570 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-08 12:24:35,571 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-08 12:24:35,571 INFO L290 TraceCheckUtils]: 13: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:35,571 INFO L290 TraceCheckUtils]: 14: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:35,571 INFO L290 TraceCheckUtils]: 15: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:35,573 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-08 12:24:35,574 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-08 12:24:35,574 INFO L290 TraceCheckUtils]: 18: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:35,574 INFO L290 TraceCheckUtils]: 19: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:35,574 INFO L290 TraceCheckUtils]: 20: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:35,574 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-08 12:24:35,574 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-08 12:24:35,574 INFO L290 TraceCheckUtils]: 23: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:35,575 INFO L290 TraceCheckUtils]: 24: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:35,575 INFO L290 TraceCheckUtils]: 25: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:35,575 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-08 12:24:35,575 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-08 12:24:35,576 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-08 12:24:35,576 INFO L290 TraceCheckUtils]: 29: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:35,576 INFO L290 TraceCheckUtils]: 30: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:35,576 INFO L290 TraceCheckUtils]: 31: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:35,576 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11224#true} {11313#(<= main_~a~0 2)} #87#return; {11313#(<= main_~a~0 2)} is VALID [2022-04-08 12:24:35,576 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-08 12:24:35,576 INFO L290 TraceCheckUtils]: 34: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:35,577 INFO L290 TraceCheckUtils]: 35: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:35,577 INFO L290 TraceCheckUtils]: 36: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:35,577 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11224#true} {11313#(<= main_~a~0 2)} #89#return; {11313#(<= main_~a~0 2)} is VALID [2022-04-08 12:24:35,577 INFO L290 TraceCheckUtils]: 38: Hoare triple {11313#(<= main_~a~0 2)} assume !false; {11313#(<= main_~a~0 2)} is VALID [2022-04-08 12:24:35,578 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-08 12:24:35,578 INFO L290 TraceCheckUtils]: 40: Hoare triple {11350#(<= main_~c~0 2)} assume !false; {11350#(<= main_~c~0 2)} is VALID [2022-04-08 12:24:35,578 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-08 12:24:35,578 INFO L290 TraceCheckUtils]: 42: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:35,578 INFO L290 TraceCheckUtils]: 43: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:35,578 INFO L290 TraceCheckUtils]: 44: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:35,579 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #91#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-08 12:24:35,579 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-08 12:24:35,579 INFO L290 TraceCheckUtils]: 47: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:35,579 INFO L290 TraceCheckUtils]: 48: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:35,579 INFO L290 TraceCheckUtils]: 49: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:35,580 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #93#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-08 12:24:35,580 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-08 12:24:35,580 INFO L290 TraceCheckUtils]: 52: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:35,580 INFO L290 TraceCheckUtils]: 53: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:35,580 INFO L290 TraceCheckUtils]: 54: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:35,593 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #95#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-08 12:24:35,593 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-08 12:24:35,594 INFO L290 TraceCheckUtils]: 57: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:35,594 INFO L290 TraceCheckUtils]: 58: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:35,594 INFO L290 TraceCheckUtils]: 59: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:35,594 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #97#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-08 12:24:35,595 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-08 12:24:35,595 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-08 12:24:35,596 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-08 12:24:35,596 INFO L290 TraceCheckUtils]: 64: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:35,596 INFO L290 TraceCheckUtils]: 65: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:35,596 INFO L290 TraceCheckUtils]: 66: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:35,596 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-08 12:24:35,596 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-08 12:24:35,596 INFO L290 TraceCheckUtils]: 69: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:35,597 INFO L290 TraceCheckUtils]: 70: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:35,597 INFO L290 TraceCheckUtils]: 71: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:35,597 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-08 12:24:35,597 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-08 12:24:35,597 INFO L290 TraceCheckUtils]: 74: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:35,597 INFO L290 TraceCheckUtils]: 75: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:35,598 INFO L290 TraceCheckUtils]: 76: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:35,598 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-08 12:24:35,598 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-08 12:24:35,598 INFO L290 TraceCheckUtils]: 79: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:35,598 INFO L290 TraceCheckUtils]: 80: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:35,607 INFO L290 TraceCheckUtils]: 81: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:35,608 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-08 12:24:35,609 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-08 12:24:35,609 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-08 12:24:35,610 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-08 12:24:35,610 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-08 12:24:35,610 INFO L290 TraceCheckUtils]: 87: Hoare triple {11225#false} assume !false; {11225#false} is VALID [2022-04-08 12:24:35,610 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-08 12:24:35,610 INFO L290 TraceCheckUtils]: 89: Hoare triple {11225#false} ~cond := #in~cond; {11225#false} is VALID [2022-04-08 12:24:35,610 INFO L290 TraceCheckUtils]: 90: Hoare triple {11225#false} assume !(0 == ~cond); {11225#false} is VALID [2022-04-08 12:24:35,611 INFO L290 TraceCheckUtils]: 91: Hoare triple {11225#false} assume true; {11225#false} is VALID [2022-04-08 12:24:35,611 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {11225#false} {11225#false} #91#return; {11225#false} is VALID [2022-04-08 12:24:35,611 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-08 12:24:35,611 INFO L290 TraceCheckUtils]: 94: Hoare triple {11225#false} ~cond := #in~cond; {11225#false} is VALID [2022-04-08 12:24:35,611 INFO L290 TraceCheckUtils]: 95: Hoare triple {11225#false} assume !(0 == ~cond); {11225#false} is VALID [2022-04-08 12:24:35,611 INFO L290 TraceCheckUtils]: 96: Hoare triple {11225#false} assume true; {11225#false} is VALID [2022-04-08 12:24:35,611 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {11225#false} {11225#false} #93#return; {11225#false} is VALID [2022-04-08 12:24:35,611 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-08 12:24:35,611 INFO L290 TraceCheckUtils]: 99: Hoare triple {11225#false} ~cond := #in~cond; {11225#false} is VALID [2022-04-08 12:24:35,611 INFO L290 TraceCheckUtils]: 100: Hoare triple {11225#false} assume !(0 == ~cond); {11225#false} is VALID [2022-04-08 12:24:35,611 INFO L290 TraceCheckUtils]: 101: Hoare triple {11225#false} assume true; {11225#false} is VALID [2022-04-08 12:24:35,612 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {11225#false} {11225#false} #95#return; {11225#false} is VALID [2022-04-08 12:24:35,612 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-08 12:24:35,612 INFO L290 TraceCheckUtils]: 104: Hoare triple {11225#false} ~cond := #in~cond; {11225#false} is VALID [2022-04-08 12:24:35,612 INFO L290 TraceCheckUtils]: 105: Hoare triple {11225#false} assume 0 == ~cond; {11225#false} is VALID [2022-04-08 12:24:35,612 INFO L290 TraceCheckUtils]: 106: Hoare triple {11225#false} assume !false; {11225#false} is VALID [2022-04-08 12:24:35,612 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-08 12:24:35,612 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:24:36,094 INFO L290 TraceCheckUtils]: 106: Hoare triple {11225#false} assume !false; {11225#false} is VALID [2022-04-08 12:24:36,094 INFO L290 TraceCheckUtils]: 105: Hoare triple {11225#false} assume 0 == ~cond; {11225#false} is VALID [2022-04-08 12:24:36,094 INFO L290 TraceCheckUtils]: 104: Hoare triple {11225#false} ~cond := #in~cond; {11225#false} is VALID [2022-04-08 12:24:36,094 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-08 12:24:36,094 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {11224#true} {11225#false} #95#return; {11225#false} is VALID [2022-04-08 12:24:36,095 INFO L290 TraceCheckUtils]: 101: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,095 INFO L290 TraceCheckUtils]: 100: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,095 INFO L290 TraceCheckUtils]: 99: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,095 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-08 12:24:36,095 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {11224#true} {11225#false} #93#return; {11225#false} is VALID [2022-04-08 12:24:36,095 INFO L290 TraceCheckUtils]: 96: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,095 INFO L290 TraceCheckUtils]: 95: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,095 INFO L290 TraceCheckUtils]: 94: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,095 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-08 12:24:36,095 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {11224#true} {11225#false} #91#return; {11225#false} is VALID [2022-04-08 12:24:36,096 INFO L290 TraceCheckUtils]: 91: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,096 INFO L290 TraceCheckUtils]: 90: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,096 INFO L290 TraceCheckUtils]: 89: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,096 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-08 12:24:36,096 INFO L290 TraceCheckUtils]: 87: Hoare triple {11225#false} assume !false; {11225#false} is VALID [2022-04-08 12:24:36,105 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-08 12:24:36,105 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-08 12:24:36,106 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-08 12:24:36,106 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-08 12:24:36,107 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-08 12:24:36,107 INFO L290 TraceCheckUtils]: 81: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,107 INFO L290 TraceCheckUtils]: 80: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,107 INFO L290 TraceCheckUtils]: 79: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,107 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-08 12:24:36,108 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-08 12:24:36,108 INFO L290 TraceCheckUtils]: 76: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,108 INFO L290 TraceCheckUtils]: 75: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,108 INFO L290 TraceCheckUtils]: 74: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,108 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-08 12:24:36,109 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-08 12:24:36,109 INFO L290 TraceCheckUtils]: 71: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,109 INFO L290 TraceCheckUtils]: 70: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,109 INFO L290 TraceCheckUtils]: 69: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,109 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-08 12:24:36,110 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-08 12:24:36,110 INFO L290 TraceCheckUtils]: 66: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,110 INFO L290 TraceCheckUtils]: 65: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,110 INFO L290 TraceCheckUtils]: 64: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,110 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-08 12:24:36,111 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-08 12:24:36,111 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-08 12:24:36,112 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #97#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-08 12:24:36,112 INFO L290 TraceCheckUtils]: 59: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,112 INFO L290 TraceCheckUtils]: 58: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,112 INFO L290 TraceCheckUtils]: 57: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,112 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-08 12:24:36,113 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #95#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-08 12:24:36,113 INFO L290 TraceCheckUtils]: 54: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,113 INFO L290 TraceCheckUtils]: 53: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,113 INFO L290 TraceCheckUtils]: 52: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,113 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-08 12:24:36,114 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #93#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-08 12:24:36,114 INFO L290 TraceCheckUtils]: 49: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,114 INFO L290 TraceCheckUtils]: 48: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,114 INFO L290 TraceCheckUtils]: 47: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,114 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-08 12:24:36,114 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11224#true} {11350#(<= main_~c~0 2)} #91#return; {11350#(<= main_~c~0 2)} is VALID [2022-04-08 12:24:36,115 INFO L290 TraceCheckUtils]: 44: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,115 INFO L290 TraceCheckUtils]: 43: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,115 INFO L290 TraceCheckUtils]: 42: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,115 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-08 12:24:36,115 INFO L290 TraceCheckUtils]: 40: Hoare triple {11350#(<= main_~c~0 2)} assume !false; {11350#(<= main_~c~0 2)} is VALID [2022-04-08 12:24:36,115 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-08 12:24:36,116 INFO L290 TraceCheckUtils]: 38: Hoare triple {11313#(<= main_~a~0 2)} assume !false; {11313#(<= main_~a~0 2)} is VALID [2022-04-08 12:24:36,116 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {11224#true} {11313#(<= main_~a~0 2)} #89#return; {11313#(<= main_~a~0 2)} is VALID [2022-04-08 12:24:36,116 INFO L290 TraceCheckUtils]: 36: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,116 INFO L290 TraceCheckUtils]: 35: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,116 INFO L290 TraceCheckUtils]: 34: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,116 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-08 12:24:36,117 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11224#true} {11313#(<= main_~a~0 2)} #87#return; {11313#(<= main_~a~0 2)} is VALID [2022-04-08 12:24:36,117 INFO L290 TraceCheckUtils]: 31: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,117 INFO L290 TraceCheckUtils]: 30: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,117 INFO L290 TraceCheckUtils]: 29: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,117 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-08 12:24:36,118 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-08 12:24:36,118 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {11224#true} {11793#(<= main_~x~0 2)} #85#return; {11793#(<= main_~x~0 2)} is VALID [2022-04-08 12:24:36,118 INFO L290 TraceCheckUtils]: 25: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,118 INFO L290 TraceCheckUtils]: 24: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,118 INFO L290 TraceCheckUtils]: 23: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,118 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-08 12:24:36,119 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {11224#true} {11793#(<= main_~x~0 2)} #83#return; {11793#(<= main_~x~0 2)} is VALID [2022-04-08 12:24:36,119 INFO L290 TraceCheckUtils]: 20: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,119 INFO L290 TraceCheckUtils]: 19: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,119 INFO L290 TraceCheckUtils]: 18: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,119 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-08 12:24:36,120 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {11224#true} {11793#(<= main_~x~0 2)} #81#return; {11793#(<= main_~x~0 2)} is VALID [2022-04-08 12:24:36,120 INFO L290 TraceCheckUtils]: 15: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,120 INFO L290 TraceCheckUtils]: 14: Hoare triple {11224#true} assume !(0 == ~cond); {11224#true} is VALID [2022-04-08 12:24:36,120 INFO L290 TraceCheckUtils]: 13: Hoare triple {11224#true} ~cond := #in~cond; {11224#true} is VALID [2022-04-08 12:24:36,120 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-08 12:24:36,120 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-08 12:24:36,121 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-08 12:24:36,121 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-08 12:24:36,121 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-08 12:24:36,122 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-08 12:24:36,122 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-08 12:24:36,122 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-08 12:24:36,122 INFO L272 TraceCheckUtils]: 4: Hoare triple {11224#true} call #t~ret6 := main(); {11224#true} is VALID [2022-04-08 12:24:36,122 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11224#true} {11224#true} #103#return; {11224#true} is VALID [2022-04-08 12:24:36,122 INFO L290 TraceCheckUtils]: 2: Hoare triple {11224#true} assume true; {11224#true} is VALID [2022-04-08 12:24:36,122 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-08 12:24:36,122 INFO L272 TraceCheckUtils]: 0: Hoare triple {11224#true} call ULTIMATE.init(); {11224#true} is VALID [2022-04-08 12:24:36,123 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-08 12:24:36,123 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:24:36,123 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1030633182] [2022-04-08 12:24:36,123 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:24:36,123 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1072222514] [2022-04-08 12:24:36,123 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1072222514] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:24:36,123 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:24:36,123 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 13 [2022-04-08 12:24:36,124 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:24:36,124 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1844135699] [2022-04-08 12:24:36,124 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1844135699] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:24:36,124 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:24:36,124 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 12:24:36,125 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1094238780] [2022-04-08 12:24:36,125 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:24:36,125 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-08 12:24:36,125 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:24:36,125 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-08 12:24:36,171 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-08 12:24:36,171 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 12:24:36,171 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:24:36,171 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 12:24:36,172 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=127, Unknown=0, NotChecked=0, Total=156 [2022-04-08 12:24:36,172 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-08 12:24:37,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:24:37,189 INFO L93 Difference]: Finished difference Result 182 states and 237 transitions. [2022-04-08 12:24:37,189 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 12:24:37,189 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-08 12:24:37,189 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:24:37,189 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-08 12:24:37,191 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 111 transitions. [2022-04-08 12:24:37,191 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-08 12:24:37,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 111 transitions. [2022-04-08 12:24:37,193 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 111 transitions. [2022-04-08 12:24:37,285 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-08 12:24:37,287 INFO L225 Difference]: With dead ends: 182 [2022-04-08 12:24:37,287 INFO L226 Difference]: Without dead ends: 132 [2022-04-08 12:24:37,288 INFO L912 BasicCegarLoop]: 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-08 12:24:37,288 INFO L913 BasicCegarLoop]: 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-08 12:24:37,288 INFO L914 BasicCegarLoop]: 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-08 12:24:37,289 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2022-04-08 12:24:37,610 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 132. [2022-04-08 12:24:37,610 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:24:37,610 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-08 12:24:37,610 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-08 12:24:37,611 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-08 12:24:37,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:24:37,625 INFO L93 Difference]: Finished difference Result 132 states and 170 transitions. [2022-04-08 12:24:37,626 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 170 transitions. [2022-04-08 12:24:37,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:24:37,626 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:24:37,626 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-08 12:24:37,626 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-08 12:24:37,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:24:37,629 INFO L93 Difference]: Finished difference Result 132 states and 170 transitions. [2022-04-08 12:24:37,629 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 170 transitions. [2022-04-08 12:24:37,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:24:37,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:24:37,630 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:24:37,630 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:24:37,630 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-08 12:24:37,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 170 transitions. [2022-04-08 12:24:37,633 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 170 transitions. Word has length 107 [2022-04-08 12:24:37,633 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:24:37,633 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 170 transitions. [2022-04-08 12:24:37,633 INFO L479 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-08 12:24:37,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 170 transitions. [2022-04-08 12:24:37,908 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-08 12:24:37,908 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 170 transitions. [2022-04-08 12:24:37,913 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 114 [2022-04-08 12:24:37,913 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:24:37,913 INFO L499 BasicCegarLoop]: 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-08 12:24:37,929 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-08 12:24:38,113 WARN L460 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-08 12:24:38,114 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:24:38,114 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:24:38,114 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 3 times [2022-04-08 12:24:38,114 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:24:38,114 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [524183098] [2022-04-08 12:24:38,114 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:24:38,115 INFO L85 PathProgramCache]: Analyzing trace with hash 1185765869, now seen corresponding path program 4 times [2022-04-08 12:24:38,115 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:24:38,115 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1626993010] [2022-04-08 12:24:38,115 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:24:38,115 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:24:38,129 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:24:38,130 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1162096416] [2022-04-08 12:24:38,130 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:24:38,130 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:24:38,130 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:24:38,131 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-08 12:24:38,132 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-08 12:24:38,178 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:24:38,179 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:24:38,180 INFO L263 TraceCheckSpWp]: Trace formula consists of 236 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-08 12:24:38,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:24:38,206 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:24:39,133 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:24:40,807 INFO L272 TraceCheckUtils]: 0: Hoare triple {12788#true} call ULTIMATE.init(); {12788#true} is VALID [2022-04-08 12:24:40,807 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-08 12:24:40,807 INFO L290 TraceCheckUtils]: 2: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,807 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12788#true} {12788#true} #103#return; {12788#true} is VALID [2022-04-08 12:24:40,807 INFO L272 TraceCheckUtils]: 4: Hoare triple {12788#true} call #t~ret6 := main(); {12788#true} is VALID [2022-04-08 12:24:40,808 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-08 12:24:40,808 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-08 12:24:40,808 INFO L290 TraceCheckUtils]: 7: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:24:40,808 INFO L290 TraceCheckUtils]: 8: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:24:40,808 INFO L290 TraceCheckUtils]: 9: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,808 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12788#true} {12788#true} #79#return; {12788#true} is VALID [2022-04-08 12:24:40,808 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-08 12:24:40,808 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-08 12:24:40,808 INFO L290 TraceCheckUtils]: 13: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:24:40,808 INFO L290 TraceCheckUtils]: 14: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:24:40,809 INFO L290 TraceCheckUtils]: 15: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,809 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12788#true} {12788#true} #81#return; {12788#true} is VALID [2022-04-08 12:24:40,809 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-08 12:24:40,809 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-08 12:24:40,809 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-08 12:24:40,810 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-08 12:24:40,810 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-08 12:24:40,810 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-08 12:24:40,810 INFO L290 TraceCheckUtils]: 23: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:24:40,810 INFO L290 TraceCheckUtils]: 24: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:24:40,811 INFO L290 TraceCheckUtils]: 25: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,811 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {12788#true} {12858#(<= 1 main_~x~0)} #85#return; {12858#(<= 1 main_~x~0)} is VALID [2022-04-08 12:24:40,811 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-08 12:24:40,812 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-08 12:24:40,812 INFO L290 TraceCheckUtils]: 29: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:24:40,812 INFO L290 TraceCheckUtils]: 30: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:24:40,812 INFO L290 TraceCheckUtils]: 31: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,812 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-08 12:24:40,813 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-08 12:24:40,813 INFO L290 TraceCheckUtils]: 34: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:24:40,813 INFO L290 TraceCheckUtils]: 35: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:24:40,813 INFO L290 TraceCheckUtils]: 36: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,813 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-08 12:24:40,814 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-08 12:24:40,814 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-08 12:24:40,815 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-08 12:24:40,815 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-08 12:24:40,815 INFO L290 TraceCheckUtils]: 42: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:24:40,815 INFO L290 TraceCheckUtils]: 43: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:24:40,815 INFO L290 TraceCheckUtils]: 44: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,816 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-08 12:24:40,816 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-08 12:24:40,816 INFO L290 TraceCheckUtils]: 47: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:24:40,816 INFO L290 TraceCheckUtils]: 48: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:24:40,816 INFO L290 TraceCheckUtils]: 49: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,817 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-08 12:24:40,817 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-08 12:24:40,817 INFO L290 TraceCheckUtils]: 52: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:24:40,817 INFO L290 TraceCheckUtils]: 53: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:24:40,817 INFO L290 TraceCheckUtils]: 54: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,818 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-08 12:24:40,818 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-08 12:24:40,818 INFO L290 TraceCheckUtils]: 57: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:24:40,818 INFO L290 TraceCheckUtils]: 58: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:24:40,818 INFO L290 TraceCheckUtils]: 59: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,819 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-08 12:24:40,820 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-08 12:24:40,820 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-08 12:24:40,820 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-08 12:24:40,820 INFO L290 TraceCheckUtils]: 64: Hoare triple {12788#true} ~cond := #in~cond; {12991#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:24:40,821 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-08 12:24:40,821 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-08 12:24:40,822 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-08 12:24:40,822 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-08 12:24:40,822 INFO L290 TraceCheckUtils]: 69: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:24:40,822 INFO L290 TraceCheckUtils]: 70: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:24:40,822 INFO L290 TraceCheckUtils]: 71: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,823 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-08 12:24:40,823 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-08 12:24:40,823 INFO L290 TraceCheckUtils]: 74: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:24:40,823 INFO L290 TraceCheckUtils]: 75: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:24:40,823 INFO L290 TraceCheckUtils]: 76: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,824 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-08 12:24:40,824 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-08 12:24:40,824 INFO L290 TraceCheckUtils]: 79: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:24:40,824 INFO L290 TraceCheckUtils]: 80: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:24:40,824 INFO L290 TraceCheckUtils]: 81: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,825 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-08 12:24:40,826 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-08 12:24:40,826 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-08 12:24:40,827 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-08 12:24:40,827 INFO L290 TraceCheckUtils]: 86: Hoare triple {12788#true} ~cond := #in~cond; {12991#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:24:40,827 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-08 12:24:40,827 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-08 12:24:40,829 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-08 12:24:40,829 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-08 12:24:40,829 INFO L290 TraceCheckUtils]: 91: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:24:40,829 INFO L290 TraceCheckUtils]: 92: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:24:40,829 INFO L290 TraceCheckUtils]: 93: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,830 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-08 12:24:40,830 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-08 12:24:40,830 INFO L290 TraceCheckUtils]: 96: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:24:40,830 INFO L290 TraceCheckUtils]: 97: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:24:40,830 INFO L290 TraceCheckUtils]: 98: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,831 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-08 12:24:40,831 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-08 12:24:40,831 INFO L290 TraceCheckUtils]: 101: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:24:40,831 INFO L290 TraceCheckUtils]: 102: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:24:40,831 INFO L290 TraceCheckUtils]: 103: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:24:40,832 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-08 12:24:40,832 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-08 12:24:40,834 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-08 12:24:40,840 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-08 12:24:40,840 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-08 12:24:40,841 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-08 12:24:40,841 INFO L290 TraceCheckUtils]: 110: Hoare triple {13134#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13138#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:24:40,842 INFO L290 TraceCheckUtils]: 111: Hoare triple {13138#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12789#false} is VALID [2022-04-08 12:24:40,842 INFO L290 TraceCheckUtils]: 112: Hoare triple {12789#false} assume !false; {12789#false} is VALID [2022-04-08 12:24:40,842 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-08 12:24:40,842 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:26:04,409 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:27:03,782 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:27:24,789 INFO L290 TraceCheckUtils]: 112: Hoare triple {12789#false} assume !false; {12789#false} is VALID [2022-04-08 12:27:24,790 INFO L290 TraceCheckUtils]: 111: Hoare triple {13138#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12789#false} is VALID [2022-04-08 12:27:24,790 INFO L290 TraceCheckUtils]: 110: Hoare triple {13134#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13138#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:27:24,791 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-08 12:27:24,791 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-08 12:27:24,792 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-08 12:27:26,793 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-08 12:27:26,794 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-08 12:27:26,794 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-08 12:27:26,795 INFO L290 TraceCheckUtils]: 103: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,795 INFO L290 TraceCheckUtils]: 102: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,795 INFO L290 TraceCheckUtils]: 101: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,795 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-08 12:27:26,795 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-08 12:27:26,796 INFO L290 TraceCheckUtils]: 98: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,796 INFO L290 TraceCheckUtils]: 97: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,796 INFO L290 TraceCheckUtils]: 96: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,796 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-08 12:27:26,800 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-08 12:27:26,800 INFO L290 TraceCheckUtils]: 93: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,800 INFO L290 TraceCheckUtils]: 92: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,800 INFO L290 TraceCheckUtils]: 91: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,801 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-08 12:27:26,801 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-08 12:27:26,802 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-08 12:27:26,802 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-08 12:27:26,802 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-08 12:27:26,803 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-08 12:27:26,803 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-08 12:27:26,899 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-08 12:27:26,900 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-08 12:27:26,900 INFO L290 TraceCheckUtils]: 81: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,901 INFO L290 TraceCheckUtils]: 80: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,901 INFO L290 TraceCheckUtils]: 79: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,901 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-08 12:27:26,901 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-08 12:27:26,901 INFO L290 TraceCheckUtils]: 76: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,902 INFO L290 TraceCheckUtils]: 75: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,902 INFO L290 TraceCheckUtils]: 74: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,902 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-08 12:27:26,902 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-08 12:27:26,903 INFO L290 TraceCheckUtils]: 71: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,903 INFO L290 TraceCheckUtils]: 70: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,903 INFO L290 TraceCheckUtils]: 69: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,903 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-08 12:27:26,904 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-08 12:27:26,904 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-08 12:27:26,904 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-08 12:27:26,905 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-08 12:27:26,905 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-08 12:27:26,905 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-08 12:27:26,907 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-08 12:27:26,908 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-08 12:27:26,908 INFO L290 TraceCheckUtils]: 59: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,908 INFO L290 TraceCheckUtils]: 58: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,908 INFO L290 TraceCheckUtils]: 57: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,909 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-08 12:27:26,909 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-08 12:27:26,909 INFO L290 TraceCheckUtils]: 54: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,909 INFO L290 TraceCheckUtils]: 53: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,909 INFO L290 TraceCheckUtils]: 52: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,910 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-08 12:27:26,910 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-08 12:27:26,910 INFO L290 TraceCheckUtils]: 49: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,910 INFO L290 TraceCheckUtils]: 48: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,910 INFO L290 TraceCheckUtils]: 47: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,911 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-08 12:27:26,911 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-08 12:27:26,911 INFO L290 TraceCheckUtils]: 44: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,911 INFO L290 TraceCheckUtils]: 43: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,912 INFO L290 TraceCheckUtils]: 42: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,912 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-08 12:27:26,912 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-08 12:27:26,913 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-08 12:27:26,913 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-08 12:27:26,914 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-08 12:27:26,914 INFO L290 TraceCheckUtils]: 36: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,914 INFO L290 TraceCheckUtils]: 35: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,914 INFO L290 TraceCheckUtils]: 34: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,914 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-08 12:27:26,915 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-08 12:27:26,915 INFO L290 TraceCheckUtils]: 31: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,915 INFO L290 TraceCheckUtils]: 30: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,915 INFO L290 TraceCheckUtils]: 29: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,915 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-08 12:27:26,917 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-08 12:27:26,917 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {12788#true} {12788#true} #85#return; {12788#true} is VALID [2022-04-08 12:27:26,917 INFO L290 TraceCheckUtils]: 25: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,917 INFO L290 TraceCheckUtils]: 24: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,917 INFO L290 TraceCheckUtils]: 23: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,917 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-08 12:27:26,917 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {12788#true} {12788#true} #83#return; {12788#true} is VALID [2022-04-08 12:27:26,918 INFO L290 TraceCheckUtils]: 20: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,918 INFO L290 TraceCheckUtils]: 19: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,918 INFO L290 TraceCheckUtils]: 18: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,918 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-08 12:27:26,918 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {12788#true} {12788#true} #81#return; {12788#true} is VALID [2022-04-08 12:27:26,918 INFO L290 TraceCheckUtils]: 15: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,918 INFO L290 TraceCheckUtils]: 14: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,918 INFO L290 TraceCheckUtils]: 13: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,918 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-08 12:27:26,918 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-08 12:27:26,919 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12788#true} {12788#true} #79#return; {12788#true} is VALID [2022-04-08 12:27:26,919 INFO L290 TraceCheckUtils]: 9: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,919 INFO L290 TraceCheckUtils]: 8: Hoare triple {12788#true} assume !(0 == ~cond); {12788#true} is VALID [2022-04-08 12:27:26,919 INFO L290 TraceCheckUtils]: 7: Hoare triple {12788#true} ~cond := #in~cond; {12788#true} is VALID [2022-04-08 12:27:26,919 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-08 12:27:26,919 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-08 12:27:26,919 INFO L272 TraceCheckUtils]: 4: Hoare triple {12788#true} call #t~ret6 := main(); {12788#true} is VALID [2022-04-08 12:27:26,927 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12788#true} {12788#true} #103#return; {12788#true} is VALID [2022-04-08 12:27:26,927 INFO L290 TraceCheckUtils]: 2: Hoare triple {12788#true} assume true; {12788#true} is VALID [2022-04-08 12:27:26,927 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-08 12:27:26,927 INFO L272 TraceCheckUtils]: 0: Hoare triple {12788#true} call ULTIMATE.init(); {12788#true} is VALID [2022-04-08 12:27:26,928 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-08 12:27:26,928 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:27:26,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1626993010] [2022-04-08 12:27:26,928 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:27:26,928 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1162096416] [2022-04-08 12:27:26,929 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1162096416] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:27:26,929 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:27:26,929 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 15] total 28 [2022-04-08 12:27:26,929 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:27:26,929 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [524183098] [2022-04-08 12:27:26,929 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [524183098] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:27:26,929 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:27:26,929 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [18] imperfect sequences [] total 18 [2022-04-08 12:27:26,929 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [161974958] [2022-04-08 12:27:26,929 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:27:26,930 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-08 12:27:26,930 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:27:26,930 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-08 12:27:26,996 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-08 12:27:26,996 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-04-08 12:27:26,996 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:27:26,996 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-04-08 12:27:26,997 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=120, Invalid=627, Unknown=9, NotChecked=0, Total=756 [2022-04-08 12:27:26,997 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-08 12:27:34,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:34,747 INFO L93 Difference]: Finished difference Result 165 states and 216 transitions. [2022-04-08 12:27:34,747 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-04-08 12:27:34,747 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-08 12:27:34,747 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:27:34,748 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-08 12:27:34,749 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 115 transitions. [2022-04-08 12:27:34,749 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-08 12:27:34,750 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 115 transitions. [2022-04-08 12:27:34,750 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 16 states and 115 transitions. [2022-04-08 12:27:34,866 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-08 12:27:34,869 INFO L225 Difference]: With dead ends: 165 [2022-04-08 12:27:34,869 INFO L226 Difference]: Without dead ends: 162 [2022-04-08 12:27:34,869 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 231 GetRequests, 198 SyntacticMatches, 1 SemanticMatches, 32 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 262 ImplicationChecksByTransitivity, 23.4s TimeCoverageRelationStatistics Valid=180, Invalid=933, Unknown=9, NotChecked=0, Total=1122 [2022-04-08 12:27:34,869 INFO L913 BasicCegarLoop]: 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-08 12:27:34,870 INFO L914 BasicCegarLoop]: 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-08 12:27:34,870 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2022-04-08 12:27:35,283 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 161. [2022-04-08 12:27:35,283 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:27:35,284 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-08 12:27:35,284 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-08 12:27:35,284 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-08 12:27:35,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:35,287 INFO L93 Difference]: Finished difference Result 162 states and 212 transitions. [2022-04-08 12:27:35,287 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 212 transitions. [2022-04-08 12:27:35,288 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:27:35,288 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:27:35,288 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-08 12:27:35,288 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-08 12:27:35,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:35,291 INFO L93 Difference]: Finished difference Result 162 states and 212 transitions. [2022-04-08 12:27:35,291 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 212 transitions. [2022-04-08 12:27:35,292 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:27:35,292 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:27:35,292 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:27:35,292 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:27:35,292 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-08 12:27:35,295 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 161 states to 161 states and 211 transitions. [2022-04-08 12:27:35,295 INFO L78 Accepts]: Start accepts. Automaton has 161 states and 211 transitions. Word has length 113 [2022-04-08 12:27:35,296 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:27:35,296 INFO L478 AbstractCegarLoop]: Abstraction has 161 states and 211 transitions. [2022-04-08 12:27:35,296 INFO L479 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-08 12:27:35,296 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 161 states and 211 transitions. [2022-04-08 12:27:35,658 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-08 12:27:35,659 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 211 transitions. [2022-04-08 12:27:35,659 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 117 [2022-04-08 12:27:35,659 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:27:35,659 INFO L499 BasicCegarLoop]: 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-08 12:27:35,676 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-08 12:27:35,860 WARN L460 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-08 12:27:35,860 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:27:35,860 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:27:35,861 INFO L85 PathProgramCache]: Analyzing trace with hash 884638574, now seen corresponding path program 5 times [2022-04-08 12:27:35,861 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:27:35,861 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1596180573] [2022-04-08 12:27:35,861 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:27:35,861 INFO L85 PathProgramCache]: Analyzing trace with hash 884638574, now seen corresponding path program 6 times [2022-04-08 12:27:35,861 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:27:35,861 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [799862196] [2022-04-08 12:27:35,861 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:27:35,862 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:27:35,880 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:27:35,880 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2132608629] [2022-04-08 12:27:35,880 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:27:35,880 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:27:35,880 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:27:35,886 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-08 12:27:35,886 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-08 12:27:35,933 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 12:27:35,934 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:27:35,935 INFO L263 TraceCheckSpWp]: Trace formula consists of 255 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-08 12:27:35,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:27:35,950 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:27:36,221 INFO L272 TraceCheckUtils]: 0: Hoare triple {14481#true} call ULTIMATE.init(); {14481#true} is VALID [2022-04-08 12:27:36,221 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-08 12:27:36,221 INFO L290 TraceCheckUtils]: 2: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,221 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14481#true} {14481#true} #103#return; {14481#true} is VALID [2022-04-08 12:27:36,221 INFO L272 TraceCheckUtils]: 4: Hoare triple {14481#true} call #t~ret6 := main(); {14481#true} is VALID [2022-04-08 12:27:36,221 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-08 12:27:36,222 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-08 12:27:36,222 INFO L290 TraceCheckUtils]: 7: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,222 INFO L290 TraceCheckUtils]: 8: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,222 INFO L290 TraceCheckUtils]: 9: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,222 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14481#true} {14481#true} #79#return; {14481#true} is VALID [2022-04-08 12:27:36,222 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-08 12:27:36,222 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-08 12:27:36,222 INFO L290 TraceCheckUtils]: 13: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,222 INFO L290 TraceCheckUtils]: 14: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,222 INFO L290 TraceCheckUtils]: 15: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,222 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14481#true} {14481#true} #81#return; {14481#true} is VALID [2022-04-08 12:27:36,223 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-08 12:27:36,223 INFO L290 TraceCheckUtils]: 18: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,223 INFO L290 TraceCheckUtils]: 19: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,223 INFO L290 TraceCheckUtils]: 20: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,223 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14481#true} {14481#true} #83#return; {14481#true} is VALID [2022-04-08 12:27:36,223 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-08 12:27:36,223 INFO L290 TraceCheckUtils]: 23: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,223 INFO L290 TraceCheckUtils]: 24: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,223 INFO L290 TraceCheckUtils]: 25: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,223 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14481#true} {14481#true} #85#return; {14481#true} is VALID [2022-04-08 12:27:36,224 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-08 12:27:36,224 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-08 12:27:36,224 INFO L290 TraceCheckUtils]: 29: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,224 INFO L290 TraceCheckUtils]: 30: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,224 INFO L290 TraceCheckUtils]: 31: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,224 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14481#true} {14481#true} #87#return; {14481#true} is VALID [2022-04-08 12:27:36,224 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-08 12:27:36,224 INFO L290 TraceCheckUtils]: 34: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,224 INFO L290 TraceCheckUtils]: 35: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,224 INFO L290 TraceCheckUtils]: 36: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,224 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {14481#true} {14481#true} #89#return; {14481#true} is VALID [2022-04-08 12:27:36,225 INFO L290 TraceCheckUtils]: 38: Hoare triple {14481#true} assume !false; {14481#true} is VALID [2022-04-08 12:27:36,225 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-08 12:27:36,225 INFO L290 TraceCheckUtils]: 40: Hoare triple {14481#true} assume !false; {14481#true} is VALID [2022-04-08 12:27:36,225 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-08 12:27:36,225 INFO L290 TraceCheckUtils]: 42: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,225 INFO L290 TraceCheckUtils]: 43: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,225 INFO L290 TraceCheckUtils]: 44: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,225 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14481#true} {14481#true} #91#return; {14481#true} is VALID [2022-04-08 12:27:36,225 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-08 12:27:36,225 INFO L290 TraceCheckUtils]: 47: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,225 INFO L290 TraceCheckUtils]: 48: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,226 INFO L290 TraceCheckUtils]: 49: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,226 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14481#true} {14481#true} #93#return; {14481#true} is VALID [2022-04-08 12:27:36,226 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-08 12:27:36,226 INFO L290 TraceCheckUtils]: 52: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,226 INFO L290 TraceCheckUtils]: 53: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,226 INFO L290 TraceCheckUtils]: 54: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,226 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14481#true} {14481#true} #95#return; {14481#true} is VALID [2022-04-08 12:27:36,226 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-08 12:27:36,226 INFO L290 TraceCheckUtils]: 57: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,226 INFO L290 TraceCheckUtils]: 58: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,227 INFO L290 TraceCheckUtils]: 59: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,227 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {14481#true} {14481#true} #97#return; {14481#true} is VALID [2022-04-08 12:27:36,227 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-08 12:27:36,227 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-08 12:27:36,228 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-08 12:27:36,228 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-08 12:27:36,228 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-08 12:27:36,228 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-08 12:27:36,229 INFO L290 TraceCheckUtils]: 67: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,229 INFO L290 TraceCheckUtils]: 68: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,229 INFO L290 TraceCheckUtils]: 69: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,229 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-08 12:27:36,229 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-08 12:27:36,229 INFO L290 TraceCheckUtils]: 72: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,229 INFO L290 TraceCheckUtils]: 73: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,230 INFO L290 TraceCheckUtils]: 74: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,230 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-08 12:27:36,230 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-08 12:27:36,230 INFO L290 TraceCheckUtils]: 77: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,230 INFO L290 TraceCheckUtils]: 78: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,230 INFO L290 TraceCheckUtils]: 79: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,231 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-08 12:27:36,231 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-08 12:27:36,231 INFO L290 TraceCheckUtils]: 82: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,231 INFO L290 TraceCheckUtils]: 83: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,231 INFO L290 TraceCheckUtils]: 84: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,232 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-08 12:27:36,233 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-08 12:27:36,233 INFO L290 TraceCheckUtils]: 87: Hoare triple {14747#(< 0 main_~c~0)} assume !false; {14747#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:36,233 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-08 12:27:36,233 INFO L290 TraceCheckUtils]: 89: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,233 INFO L290 TraceCheckUtils]: 90: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,233 INFO L290 TraceCheckUtils]: 91: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,234 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #91#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:36,234 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-08 12:27:36,234 INFO L290 TraceCheckUtils]: 94: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,234 INFO L290 TraceCheckUtils]: 95: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,234 INFO L290 TraceCheckUtils]: 96: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,235 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #93#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:36,235 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-08 12:27:36,235 INFO L290 TraceCheckUtils]: 99: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,235 INFO L290 TraceCheckUtils]: 100: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,235 INFO L290 TraceCheckUtils]: 101: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,235 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #95#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:36,236 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-08 12:27:36,236 INFO L290 TraceCheckUtils]: 104: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,236 INFO L290 TraceCheckUtils]: 105: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,236 INFO L290 TraceCheckUtils]: 106: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,236 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #97#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:36,237 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-08 12:27:36,237 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-08 12:27:36,237 INFO L290 TraceCheckUtils]: 110: Hoare triple {14817#(< 0 main_~b~0)} assume !false; {14817#(< 0 main_~b~0)} is VALID [2022-04-08 12:27:36,238 INFO L290 TraceCheckUtils]: 111: Hoare triple {14817#(< 0 main_~b~0)} assume !(0 != ~b~0); {14482#false} is VALID [2022-04-08 12:27:36,238 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-08 12:27:36,238 INFO L290 TraceCheckUtils]: 113: Hoare triple {14482#false} ~cond := #in~cond; {14482#false} is VALID [2022-04-08 12:27:36,238 INFO L290 TraceCheckUtils]: 114: Hoare triple {14482#false} assume 0 == ~cond; {14482#false} is VALID [2022-04-08 12:27:36,238 INFO L290 TraceCheckUtils]: 115: Hoare triple {14482#false} assume !false; {14482#false} is VALID [2022-04-08 12:27:36,238 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-08 12:27:36,238 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:27:36,540 INFO L290 TraceCheckUtils]: 115: Hoare triple {14482#false} assume !false; {14482#false} is VALID [2022-04-08 12:27:36,540 INFO L290 TraceCheckUtils]: 114: Hoare triple {14482#false} assume 0 == ~cond; {14482#false} is VALID [2022-04-08 12:27:36,540 INFO L290 TraceCheckUtils]: 113: Hoare triple {14482#false} ~cond := #in~cond; {14482#false} is VALID [2022-04-08 12:27:36,540 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-08 12:27:36,541 INFO L290 TraceCheckUtils]: 111: Hoare triple {14817#(< 0 main_~b~0)} assume !(0 != ~b~0); {14482#false} is VALID [2022-04-08 12:27:36,541 INFO L290 TraceCheckUtils]: 110: Hoare triple {14817#(< 0 main_~b~0)} assume !false; {14817#(< 0 main_~b~0)} is VALID [2022-04-08 12:27:36,542 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-08 12:27:36,542 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-08 12:27:36,542 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #97#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:36,543 INFO L290 TraceCheckUtils]: 106: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,543 INFO L290 TraceCheckUtils]: 105: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,543 INFO L290 TraceCheckUtils]: 104: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,543 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-08 12:27:36,543 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #95#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:36,543 INFO L290 TraceCheckUtils]: 101: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,544 INFO L290 TraceCheckUtils]: 100: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,544 INFO L290 TraceCheckUtils]: 99: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,544 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-08 12:27:36,544 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #93#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:36,544 INFO L290 TraceCheckUtils]: 96: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,544 INFO L290 TraceCheckUtils]: 95: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,545 INFO L290 TraceCheckUtils]: 94: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,545 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-08 12:27:36,545 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {14481#true} {14747#(< 0 main_~c~0)} #91#return; {14747#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:36,545 INFO L290 TraceCheckUtils]: 91: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,545 INFO L290 TraceCheckUtils]: 90: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,545 INFO L290 TraceCheckUtils]: 89: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,545 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-08 12:27:36,546 INFO L290 TraceCheckUtils]: 87: Hoare triple {14747#(< 0 main_~c~0)} assume !false; {14747#(< 0 main_~c~0)} is VALID [2022-04-08 12:27:36,547 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-08 12:27:36,547 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-08 12:27:36,547 INFO L290 TraceCheckUtils]: 84: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,548 INFO L290 TraceCheckUtils]: 83: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,548 INFO L290 TraceCheckUtils]: 82: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,548 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-08 12:27:36,548 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-08 12:27:36,548 INFO L290 TraceCheckUtils]: 79: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,548 INFO L290 TraceCheckUtils]: 78: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,549 INFO L290 TraceCheckUtils]: 77: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,549 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-08 12:27:36,549 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-08 12:27:36,549 INFO L290 TraceCheckUtils]: 74: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,549 INFO L290 TraceCheckUtils]: 73: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,549 INFO L290 TraceCheckUtils]: 72: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,550 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-08 12:27:36,550 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-08 12:27:36,550 INFO L290 TraceCheckUtils]: 69: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,550 INFO L290 TraceCheckUtils]: 68: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,550 INFO L290 TraceCheckUtils]: 67: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,550 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-08 12:27:36,552 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-08 12:27:36,552 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-08 12:27:36,553 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-08 12:27:36,553 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-08 12:27:36,553 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-08 12:27:36,554 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {14481#true} {14481#true} #97#return; {14481#true} is VALID [2022-04-08 12:27:36,554 INFO L290 TraceCheckUtils]: 59: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,554 INFO L290 TraceCheckUtils]: 58: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,554 INFO L290 TraceCheckUtils]: 57: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,554 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-08 12:27:36,554 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {14481#true} {14481#true} #95#return; {14481#true} is VALID [2022-04-08 12:27:36,554 INFO L290 TraceCheckUtils]: 54: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,554 INFO L290 TraceCheckUtils]: 53: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,554 INFO L290 TraceCheckUtils]: 52: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,554 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-08 12:27:36,554 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14481#true} {14481#true} #93#return; {14481#true} is VALID [2022-04-08 12:27:36,555 INFO L290 TraceCheckUtils]: 49: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,555 INFO L290 TraceCheckUtils]: 48: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,555 INFO L290 TraceCheckUtils]: 47: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,555 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-08 12:27:36,555 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14481#true} {14481#true} #91#return; {14481#true} is VALID [2022-04-08 12:27:36,555 INFO L290 TraceCheckUtils]: 44: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,555 INFO L290 TraceCheckUtils]: 43: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,555 INFO L290 TraceCheckUtils]: 42: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,555 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-08 12:27:36,555 INFO L290 TraceCheckUtils]: 40: Hoare triple {14481#true} assume !false; {14481#true} is VALID [2022-04-08 12:27:36,556 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-08 12:27:36,556 INFO L290 TraceCheckUtils]: 38: Hoare triple {14481#true} assume !false; {14481#true} is VALID [2022-04-08 12:27:36,556 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {14481#true} {14481#true} #89#return; {14481#true} is VALID [2022-04-08 12:27:36,556 INFO L290 TraceCheckUtils]: 36: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,556 INFO L290 TraceCheckUtils]: 35: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,556 INFO L290 TraceCheckUtils]: 34: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,556 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-08 12:27:36,556 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14481#true} {14481#true} #87#return; {14481#true} is VALID [2022-04-08 12:27:36,556 INFO L290 TraceCheckUtils]: 31: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,556 INFO L290 TraceCheckUtils]: 30: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,556 INFO L290 TraceCheckUtils]: 29: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,557 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-08 12:27:36,557 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-08 12:27:36,557 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {14481#true} {14481#true} #85#return; {14481#true} is VALID [2022-04-08 12:27:36,557 INFO L290 TraceCheckUtils]: 25: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,557 INFO L290 TraceCheckUtils]: 24: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,557 INFO L290 TraceCheckUtils]: 23: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,557 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-08 12:27:36,557 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {14481#true} {14481#true} #83#return; {14481#true} is VALID [2022-04-08 12:27:36,557 INFO L290 TraceCheckUtils]: 20: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,557 INFO L290 TraceCheckUtils]: 19: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,557 INFO L290 TraceCheckUtils]: 18: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,558 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-08 12:27:36,558 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {14481#true} {14481#true} #81#return; {14481#true} is VALID [2022-04-08 12:27:36,558 INFO L290 TraceCheckUtils]: 15: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,558 INFO L290 TraceCheckUtils]: 14: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,558 INFO L290 TraceCheckUtils]: 13: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,558 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-08 12:27:36,558 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-08 12:27:36,558 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14481#true} {14481#true} #79#return; {14481#true} is VALID [2022-04-08 12:27:36,558 INFO L290 TraceCheckUtils]: 9: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,558 INFO L290 TraceCheckUtils]: 8: Hoare triple {14481#true} assume !(0 == ~cond); {14481#true} is VALID [2022-04-08 12:27:36,558 INFO L290 TraceCheckUtils]: 7: Hoare triple {14481#true} ~cond := #in~cond; {14481#true} is VALID [2022-04-08 12:27:36,559 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-08 12:27:36,559 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-08 12:27:36,559 INFO L272 TraceCheckUtils]: 4: Hoare triple {14481#true} call #t~ret6 := main(); {14481#true} is VALID [2022-04-08 12:27:36,559 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14481#true} {14481#true} #103#return; {14481#true} is VALID [2022-04-08 12:27:36,559 INFO L290 TraceCheckUtils]: 2: Hoare triple {14481#true} assume true; {14481#true} is VALID [2022-04-08 12:27:36,559 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-08 12:27:36,559 INFO L272 TraceCheckUtils]: 0: Hoare triple {14481#true} call ULTIMATE.init(); {14481#true} is VALID [2022-04-08 12:27:36,559 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-08 12:27:36,560 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:27:36,560 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [799862196] [2022-04-08 12:27:36,560 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:27:36,560 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2132608629] [2022-04-08 12:27:36,560 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2132608629] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:27:36,560 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:27:36,560 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 7 [2022-04-08 12:27:36,560 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:27:36,560 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1596180573] [2022-04-08 12:27:36,560 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1596180573] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:27:36,561 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:27:36,561 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 12:27:36,561 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [22525388] [2022-04-08 12:27:36,561 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:27:36,561 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-08 12:27:36,561 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:27:36,561 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-08 12:27:36,608 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-08 12:27:36,608 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 12:27:36,609 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:27:36,609 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 12:27:36,609 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=31, Unknown=0, NotChecked=0, Total=42 [2022-04-08 12:27:36,609 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-08 12:27:37,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:37,878 INFO L93 Difference]: Finished difference Result 215 states and 300 transitions. [2022-04-08 12:27:37,878 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 12:27:37,879 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-08 12:27:37,879 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:27:37,879 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-08 12:27:37,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 126 transitions. [2022-04-08 12:27:37,881 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-08 12:27:37,882 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 126 transitions. [2022-04-08 12:27:37,882 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 126 transitions. [2022-04-08 12:27:37,998 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-08 12:27:38,002 INFO L225 Difference]: With dead ends: 215 [2022-04-08 12:27:38,002 INFO L226 Difference]: Without dead ends: 207 [2022-04-08 12:27:38,002 INFO L912 BasicCegarLoop]: 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-08 12:27:38,002 INFO L913 BasicCegarLoop]: 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-08 12:27:38,003 INFO L914 BasicCegarLoop]: 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-08 12:27:38,003 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 207 states. [2022-04-08 12:27:38,530 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 207 to 188. [2022-04-08 12:27:38,531 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:27:38,541 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-08 12:27:38,541 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-08 12:27:38,542 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-08 12:27:38,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:38,547 INFO L93 Difference]: Finished difference Result 207 states and 291 transitions. [2022-04-08 12:27:38,547 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 291 transitions. [2022-04-08 12:27:38,547 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:27:38,547 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:27:38,548 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-08 12:27:38,548 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-08 12:27:38,553 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:38,553 INFO L93 Difference]: Finished difference Result 207 states and 291 transitions. [2022-04-08 12:27:38,553 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 291 transitions. [2022-04-08 12:27:38,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:27:38,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:27:38,554 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:27:38,554 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:27:38,554 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-08 12:27:38,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 188 states to 188 states and 258 transitions. [2022-04-08 12:27:38,558 INFO L78 Accepts]: Start accepts. Automaton has 188 states and 258 transitions. Word has length 116 [2022-04-08 12:27:38,558 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:27:38,558 INFO L478 AbstractCegarLoop]: Abstraction has 188 states and 258 transitions. [2022-04-08 12:27:38,558 INFO L479 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-08 12:27:38,559 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 188 states and 258 transitions. [2022-04-08 12:27:39,046 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-08 12:27:39,046 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 258 transitions. [2022-04-08 12:27:39,047 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 123 [2022-04-08 12:27:39,047 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:27:39,047 INFO L499 BasicCegarLoop]: 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-08 12:27:39,063 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-08 12:27:39,247 WARN L460 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-08 12:27:39,248 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:27:39,248 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:27:39,248 INFO L85 PathProgramCache]: Analyzing trace with hash -743412771, now seen corresponding path program 3 times [2022-04-08 12:27:39,248 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:27:39,248 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [819028167] [2022-04-08 12:27:39,248 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:27:39,249 INFO L85 PathProgramCache]: Analyzing trace with hash -743412771, now seen corresponding path program 4 times [2022-04-08 12:27:39,249 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:27:39,249 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2088054378] [2022-04-08 12:27:39,249 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:27:39,249 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:27:39,269 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:27:39,270 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1235689978] [2022-04-08 12:27:39,270 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:27:39,270 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:27:39,270 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:27:39,271 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-08 12:27:39,271 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-08 12:27:39,321 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:27:39,322 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:27:39,322 INFO L263 TraceCheckSpWp]: Trace formula consists of 265 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-08 12:27:39,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:27:39,340 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:27:39,791 INFO L272 TraceCheckUtils]: 0: Hoare triple {16422#true} call ULTIMATE.init(); {16422#true} is VALID [2022-04-08 12:27:39,791 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-08 12:27:39,792 INFO L290 TraceCheckUtils]: 2: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,792 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16422#true} {16422#true} #103#return; {16422#true} is VALID [2022-04-08 12:27:39,792 INFO L272 TraceCheckUtils]: 4: Hoare triple {16422#true} call #t~ret6 := main(); {16422#true} is VALID [2022-04-08 12:27:39,792 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-08 12:27:39,792 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-08 12:27:39,792 INFO L290 TraceCheckUtils]: 7: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,792 INFO L290 TraceCheckUtils]: 8: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,792 INFO L290 TraceCheckUtils]: 9: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,792 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16422#true} {16422#true} #79#return; {16422#true} is VALID [2022-04-08 12:27:39,792 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-08 12:27:39,792 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-08 12:27:39,793 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-08 12:27:39,793 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-08 12:27:39,793 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-08 12:27:39,794 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-08 12:27:39,794 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-08 12:27:39,794 INFO L290 TraceCheckUtils]: 18: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,794 INFO L290 TraceCheckUtils]: 19: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,794 INFO L290 TraceCheckUtils]: 20: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,795 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-08 12:27:39,795 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-08 12:27:39,795 INFO L290 TraceCheckUtils]: 23: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,795 INFO L290 TraceCheckUtils]: 24: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,795 INFO L290 TraceCheckUtils]: 25: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,795 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-08 12:27:39,796 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-08 12:27:39,796 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-08 12:27:39,796 INFO L290 TraceCheckUtils]: 29: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,796 INFO L290 TraceCheckUtils]: 30: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,796 INFO L290 TraceCheckUtils]: 31: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,797 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #87#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:39,797 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-08 12:27:39,797 INFO L290 TraceCheckUtils]: 34: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,797 INFO L290 TraceCheckUtils]: 35: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,797 INFO L290 TraceCheckUtils]: 36: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,797 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #89#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:39,798 INFO L290 TraceCheckUtils]: 38: Hoare triple {16511#(<= main_~b~0 2)} assume !false; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:39,798 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-08 12:27:39,798 INFO L290 TraceCheckUtils]: 40: Hoare triple {16511#(<= main_~b~0 2)} assume !false; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:39,798 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-08 12:27:39,798 INFO L290 TraceCheckUtils]: 42: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,799 INFO L290 TraceCheckUtils]: 43: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,799 INFO L290 TraceCheckUtils]: 44: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,799 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #91#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:39,799 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-08 12:27:39,799 INFO L290 TraceCheckUtils]: 47: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,799 INFO L290 TraceCheckUtils]: 48: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,800 INFO L290 TraceCheckUtils]: 49: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,800 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #93#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:39,800 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-08 12:27:39,800 INFO L290 TraceCheckUtils]: 52: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,800 INFO L290 TraceCheckUtils]: 53: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,800 INFO L290 TraceCheckUtils]: 54: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,801 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #95#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:39,801 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-08 12:27:39,801 INFO L290 TraceCheckUtils]: 57: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,801 INFO L290 TraceCheckUtils]: 58: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,801 INFO L290 TraceCheckUtils]: 59: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,802 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #97#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:39,802 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-08 12:27:39,803 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-08 12:27:39,803 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-08 12:27:39,804 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-08 12:27:39,804 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-08 12:27:39,804 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-08 12:27:39,804 INFO L290 TraceCheckUtils]: 67: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,804 INFO L290 TraceCheckUtils]: 68: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,804 INFO L290 TraceCheckUtils]: 69: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,805 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-08 12:27:39,805 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-08 12:27:39,805 INFO L290 TraceCheckUtils]: 72: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,805 INFO L290 TraceCheckUtils]: 73: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,805 INFO L290 TraceCheckUtils]: 74: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,806 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-08 12:27:39,806 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-08 12:27:39,806 INFO L290 TraceCheckUtils]: 77: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,806 INFO L290 TraceCheckUtils]: 78: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,806 INFO L290 TraceCheckUtils]: 79: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,807 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-08 12:27:39,807 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-08 12:27:39,807 INFO L290 TraceCheckUtils]: 82: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,807 INFO L290 TraceCheckUtils]: 83: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,807 INFO L290 TraceCheckUtils]: 84: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,808 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-08 12:27:39,809 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-08 12:27:39,809 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-08 12:27:39,809 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-08 12:27:39,809 INFO L290 TraceCheckUtils]: 89: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,809 INFO L290 TraceCheckUtils]: 90: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,809 INFO L290 TraceCheckUtils]: 91: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,810 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-08 12:27:39,810 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-08 12:27:39,810 INFO L290 TraceCheckUtils]: 94: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,810 INFO L290 TraceCheckUtils]: 95: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,810 INFO L290 TraceCheckUtils]: 96: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,811 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-08 12:27:39,811 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-08 12:27:39,811 INFO L290 TraceCheckUtils]: 99: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,811 INFO L290 TraceCheckUtils]: 100: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,811 INFO L290 TraceCheckUtils]: 101: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,812 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-08 12:27:39,812 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-08 12:27:39,812 INFO L290 TraceCheckUtils]: 104: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:39,812 INFO L290 TraceCheckUtils]: 105: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:39,812 INFO L290 TraceCheckUtils]: 106: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:39,812 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-08 12:27:39,813 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-08 12:27:39,813 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-08 12:27:39,813 INFO L290 TraceCheckUtils]: 110: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-08 12:27:39,813 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-08 12:27:39,813 INFO L290 TraceCheckUtils]: 112: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-08 12:27:39,813 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-08 12:27:39,814 INFO L290 TraceCheckUtils]: 114: Hoare triple {16423#false} ~cond := #in~cond; {16423#false} is VALID [2022-04-08 12:27:39,814 INFO L290 TraceCheckUtils]: 115: Hoare triple {16423#false} assume !(0 == ~cond); {16423#false} is VALID [2022-04-08 12:27:39,814 INFO L290 TraceCheckUtils]: 116: Hoare triple {16423#false} assume true; {16423#false} is VALID [2022-04-08 12:27:39,814 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {16423#false} {16423#false} #91#return; {16423#false} is VALID [2022-04-08 12:27:39,814 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-08 12:27:39,814 INFO L290 TraceCheckUtils]: 119: Hoare triple {16423#false} ~cond := #in~cond; {16423#false} is VALID [2022-04-08 12:27:39,814 INFO L290 TraceCheckUtils]: 120: Hoare triple {16423#false} assume 0 == ~cond; {16423#false} is VALID [2022-04-08 12:27:39,814 INFO L290 TraceCheckUtils]: 121: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-08 12:27:39,815 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-08 12:27:39,815 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:27:40,261 INFO L290 TraceCheckUtils]: 121: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-08 12:27:40,261 INFO L290 TraceCheckUtils]: 120: Hoare triple {16423#false} assume 0 == ~cond; {16423#false} is VALID [2022-04-08 12:27:40,261 INFO L290 TraceCheckUtils]: 119: Hoare triple {16423#false} ~cond := #in~cond; {16423#false} is VALID [2022-04-08 12:27:40,261 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-08 12:27:40,261 INFO L284 TraceCheckUtils]: 117: Hoare quadruple {16422#true} {16423#false} #91#return; {16423#false} is VALID [2022-04-08 12:27:40,261 INFO L290 TraceCheckUtils]: 116: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,261 INFO L290 TraceCheckUtils]: 115: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,261 INFO L290 TraceCheckUtils]: 114: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,262 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-08 12:27:40,262 INFO L290 TraceCheckUtils]: 112: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-08 12:27:40,262 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-08 12:27:40,262 INFO L290 TraceCheckUtils]: 110: Hoare triple {16423#false} assume !false; {16423#false} is VALID [2022-04-08 12:27:40,262 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-08 12:27:40,262 INFO L290 TraceCheckUtils]: 108: Hoare triple {16837#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {16423#false} is VALID [2022-04-08 12:27:40,263 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-08 12:27:40,263 INFO L290 TraceCheckUtils]: 106: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,263 INFO L290 TraceCheckUtils]: 105: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,263 INFO L290 TraceCheckUtils]: 104: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,263 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-08 12:27:40,264 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-08 12:27:40,264 INFO L290 TraceCheckUtils]: 101: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,264 INFO L290 TraceCheckUtils]: 100: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,264 INFO L290 TraceCheckUtils]: 99: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,264 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-08 12:27:40,273 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-08 12:27:40,273 INFO L290 TraceCheckUtils]: 96: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,273 INFO L290 TraceCheckUtils]: 95: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,274 INFO L290 TraceCheckUtils]: 94: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,274 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-08 12:27:40,275 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-08 12:27:40,275 INFO L290 TraceCheckUtils]: 91: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,275 INFO L290 TraceCheckUtils]: 90: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,275 INFO L290 TraceCheckUtils]: 89: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,275 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-08 12:27:40,276 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-08 12:27:40,277 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-08 12:27:40,278 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-08 12:27:40,278 INFO L290 TraceCheckUtils]: 84: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,278 INFO L290 TraceCheckUtils]: 83: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,278 INFO L290 TraceCheckUtils]: 82: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,278 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-08 12:27:40,279 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-08 12:27:40,279 INFO L290 TraceCheckUtils]: 79: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,279 INFO L290 TraceCheckUtils]: 78: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,279 INFO L290 TraceCheckUtils]: 77: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,279 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-08 12:27:40,280 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-08 12:27:40,280 INFO L290 TraceCheckUtils]: 74: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,280 INFO L290 TraceCheckUtils]: 73: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,280 INFO L290 TraceCheckUtils]: 72: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,280 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-08 12:27:40,281 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-08 12:27:40,281 INFO L290 TraceCheckUtils]: 69: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,281 INFO L290 TraceCheckUtils]: 68: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,281 INFO L290 TraceCheckUtils]: 67: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,281 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-08 12:27:40,281 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-08 12:27:40,282 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-08 12:27:40,282 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-08 12:27:40,283 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-08 12:27:40,284 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-08 12:27:40,285 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #97#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:40,285 INFO L290 TraceCheckUtils]: 59: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,285 INFO L290 TraceCheckUtils]: 58: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,285 INFO L290 TraceCheckUtils]: 57: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,285 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-08 12:27:40,286 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #95#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:40,286 INFO L290 TraceCheckUtils]: 54: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,286 INFO L290 TraceCheckUtils]: 53: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,286 INFO L290 TraceCheckUtils]: 52: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,286 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-08 12:27:40,287 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #93#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:40,287 INFO L290 TraceCheckUtils]: 49: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,287 INFO L290 TraceCheckUtils]: 48: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,287 INFO L290 TraceCheckUtils]: 47: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,287 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-08 12:27:40,288 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #91#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:40,288 INFO L290 TraceCheckUtils]: 44: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,288 INFO L290 TraceCheckUtils]: 43: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,288 INFO L290 TraceCheckUtils]: 42: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,288 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-08 12:27:40,288 INFO L290 TraceCheckUtils]: 40: Hoare triple {16511#(<= main_~b~0 2)} assume !false; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:40,289 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-08 12:27:40,289 INFO L290 TraceCheckUtils]: 38: Hoare triple {16511#(<= main_~b~0 2)} assume !false; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:40,289 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #89#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:40,290 INFO L290 TraceCheckUtils]: 36: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,290 INFO L290 TraceCheckUtils]: 35: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,290 INFO L290 TraceCheckUtils]: 34: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,290 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-08 12:27:40,290 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16422#true} {16511#(<= main_~b~0 2)} #87#return; {16511#(<= main_~b~0 2)} is VALID [2022-04-08 12:27:40,290 INFO L290 TraceCheckUtils]: 31: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,290 INFO L290 TraceCheckUtils]: 30: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,291 INFO L290 TraceCheckUtils]: 29: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,291 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-08 12:27:40,291 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-08 12:27:40,292 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {16422#true} {17084#(<= main_~y~0 2)} #85#return; {17084#(<= main_~y~0 2)} is VALID [2022-04-08 12:27:40,292 INFO L290 TraceCheckUtils]: 25: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,292 INFO L290 TraceCheckUtils]: 24: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,292 INFO L290 TraceCheckUtils]: 23: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,292 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-08 12:27:40,292 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {16422#true} {17084#(<= main_~y~0 2)} #83#return; {17084#(<= main_~y~0 2)} is VALID [2022-04-08 12:27:40,292 INFO L290 TraceCheckUtils]: 20: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,293 INFO L290 TraceCheckUtils]: 19: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,293 INFO L290 TraceCheckUtils]: 18: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,293 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-08 12:27:40,293 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-08 12:27:40,294 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-08 12:27:40,294 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-08 12:27:40,294 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-08 12:27:40,294 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-08 12:27:40,294 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-08 12:27:40,295 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16422#true} {16422#true} #79#return; {16422#true} is VALID [2022-04-08 12:27:40,295 INFO L290 TraceCheckUtils]: 9: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,295 INFO L290 TraceCheckUtils]: 8: Hoare triple {16422#true} assume !(0 == ~cond); {16422#true} is VALID [2022-04-08 12:27:40,295 INFO L290 TraceCheckUtils]: 7: Hoare triple {16422#true} ~cond := #in~cond; {16422#true} is VALID [2022-04-08 12:27:40,295 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-08 12:27:40,295 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-08 12:27:40,295 INFO L272 TraceCheckUtils]: 4: Hoare triple {16422#true} call #t~ret6 := main(); {16422#true} is VALID [2022-04-08 12:27:40,295 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16422#true} {16422#true} #103#return; {16422#true} is VALID [2022-04-08 12:27:40,295 INFO L290 TraceCheckUtils]: 2: Hoare triple {16422#true} assume true; {16422#true} is VALID [2022-04-08 12:27:40,295 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-08 12:27:40,296 INFO L272 TraceCheckUtils]: 0: Hoare triple {16422#true} call ULTIMATE.init(); {16422#true} is VALID [2022-04-08 12:27:40,296 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-08 12:27:40,296 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:27:40,296 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2088054378] [2022-04-08 12:27:40,296 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:27:40,296 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1235689978] [2022-04-08 12:27:40,296 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1235689978] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:27:40,296 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:27:40,297 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-08 12:27:40,297 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:27:40,298 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [819028167] [2022-04-08 12:27:40,298 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [819028167] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:27:40,298 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:27:40,298 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 12:27:40,298 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [570752140] [2022-04-08 12:27:40,298 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:27:40,298 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-08 12:27:40,299 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:27:40,299 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-08 12:27:40,356 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-08 12:27:40,357 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 12:27:40,357 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:27:40,357 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 12:27:40,357 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=199, Unknown=0, NotChecked=0, Total=240 [2022-04-08 12:27:40,357 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-08 12:27:41,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:41,763 INFO L93 Difference]: Finished difference Result 221 states and 305 transitions. [2022-04-08 12:27:41,763 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 12:27:41,764 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-08 12:27:41,764 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:27:41,764 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-08 12:27:41,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-08 12:27:41,765 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-08 12:27:41,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 104 transitions. [2022-04-08 12:27:41,766 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 104 transitions. [2022-04-08 12:27:41,851 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-08 12:27:41,854 INFO L225 Difference]: With dead ends: 221 [2022-04-08 12:27:41,854 INFO L226 Difference]: Without dead ends: 185 [2022-04-08 12:27:41,855 INFO L912 BasicCegarLoop]: 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-08 12:27:41,855 INFO L913 BasicCegarLoop]: 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-08 12:27:41,855 INFO L914 BasicCegarLoop]: 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-08 12:27:41,855 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states. [2022-04-08 12:27:42,409 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 185. [2022-04-08 12:27:42,409 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:27:42,410 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-08 12:27:42,410 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-08 12:27:42,410 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-08 12:27:42,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:42,414 INFO L93 Difference]: Finished difference Result 185 states and 251 transitions. [2022-04-08 12:27:42,414 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 251 transitions. [2022-04-08 12:27:42,414 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:27:42,414 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:27:42,414 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-08 12:27:42,415 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-08 12:27:42,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:27:42,418 INFO L93 Difference]: Finished difference Result 185 states and 251 transitions. [2022-04-08 12:27:42,418 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 251 transitions. [2022-04-08 12:27:42,419 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:27:42,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:27:42,419 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:27:42,419 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:27:42,419 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-08 12:27:42,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 185 states to 185 states and 251 transitions. [2022-04-08 12:27:42,423 INFO L78 Accepts]: Start accepts. Automaton has 185 states and 251 transitions. Word has length 122 [2022-04-08 12:27:42,423 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:27:42,423 INFO L478 AbstractCegarLoop]: Abstraction has 185 states and 251 transitions. [2022-04-08 12:27:42,423 INFO L479 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-08 12:27:42,423 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 185 states and 251 transitions. [2022-04-08 12:27:42,866 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-08 12:27:42,866 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 251 transitions. [2022-04-08 12:27:42,867 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 130 [2022-04-08 12:27:42,867 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:27:42,867 INFO L499 BasicCegarLoop]: 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-08 12:27:42,887 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-08 12:27:43,083 WARN L460 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-08 12:27:43,083 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:27:43,084 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:27:43,084 INFO L85 PathProgramCache]: Analyzing trace with hash -2138166692, now seen corresponding path program 5 times [2022-04-08 12:27:43,084 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:27:43,084 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [685965695] [2022-04-08 12:27:43,084 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:27:43,085 INFO L85 PathProgramCache]: Analyzing trace with hash -2138166692, now seen corresponding path program 6 times [2022-04-08 12:27:43,085 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:27:43,085 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [360032254] [2022-04-08 12:27:43,085 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:27:43,085 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:27:43,100 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:27:43,101 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [551117294] [2022-04-08 12:27:43,101 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:27:43,101 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:27:43,101 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:27:43,109 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-08 12:27:43,109 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-08 12:27:43,190 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 12:27:43,190 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:27:43,191 INFO L263 TraceCheckSpWp]: Trace formula consists of 215 conjuncts, 58 conjunts are in the unsatisfiable core [2022-04-08 12:27:43,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:27:43,213 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:27:45,223 INFO L272 TraceCheckUtils]: 0: Hoare triple {18365#true} call ULTIMATE.init(); {18365#true} is VALID [2022-04-08 12:27:45,223 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-08 12:27:45,223 INFO L290 TraceCheckUtils]: 2: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,223 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18365#true} {18365#true} #103#return; {18365#true} is VALID [2022-04-08 12:27:45,223 INFO L272 TraceCheckUtils]: 4: Hoare triple {18365#true} call #t~ret6 := main(); {18365#true} is VALID [2022-04-08 12:27:45,224 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-08 12:27:45,224 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-08 12:27:45,224 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-08 12:27:45,224 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-08 12:27:45,225 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-08 12:27:45,225 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-08 12:27:45,225 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-08 12:27:45,226 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-08 12:27:45,226 INFO L290 TraceCheckUtils]: 13: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,226 INFO L290 TraceCheckUtils]: 14: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,226 INFO L290 TraceCheckUtils]: 15: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,226 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-08 12:27:45,226 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-08 12:27:45,226 INFO L290 TraceCheckUtils]: 18: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,226 INFO L290 TraceCheckUtils]: 19: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,227 INFO L290 TraceCheckUtils]: 20: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,227 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-08 12:27:45,227 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-08 12:27:45,227 INFO L290 TraceCheckUtils]: 23: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,227 INFO L290 TraceCheckUtils]: 24: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,227 INFO L290 TraceCheckUtils]: 25: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,228 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-08 12:27:45,228 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-08 12:27:45,228 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-08 12:27:45,228 INFO L290 TraceCheckUtils]: 29: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,228 INFO L290 TraceCheckUtils]: 30: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,229 INFO L290 TraceCheckUtils]: 31: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,229 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-08 12:27:45,229 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-08 12:27:45,229 INFO L290 TraceCheckUtils]: 34: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,230 INFO L290 TraceCheckUtils]: 35: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,230 INFO L290 TraceCheckUtils]: 36: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,231 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-08 12:27:45,232 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-08 12:27:45,232 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-08 12:27:45,233 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-08 12:27:45,233 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-08 12:27:45,233 INFO L290 TraceCheckUtils]: 42: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,233 INFO L290 TraceCheckUtils]: 43: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,233 INFO L290 TraceCheckUtils]: 44: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,234 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-08 12:27:45,234 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-08 12:27:45,234 INFO L290 TraceCheckUtils]: 47: Hoare triple {18365#true} ~cond := #in~cond; {18515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:27:45,235 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-08 12:27:45,235 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-08 12:27:45,236 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-08 12:27:45,236 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-08 12:27:45,236 INFO L290 TraceCheckUtils]: 52: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,236 INFO L290 TraceCheckUtils]: 53: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,236 INFO L290 TraceCheckUtils]: 54: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,237 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-08 12:27:45,237 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-08 12:27:45,237 INFO L290 TraceCheckUtils]: 57: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,237 INFO L290 TraceCheckUtils]: 58: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,237 INFO L290 TraceCheckUtils]: 59: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,238 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-08 12:27:45,238 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-08 12:27:45,239 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-08 12:27:45,239 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-08 12:27:45,239 INFO L290 TraceCheckUtils]: 64: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,239 INFO L290 TraceCheckUtils]: 65: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,239 INFO L290 TraceCheckUtils]: 66: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,240 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-08 12:27:45,240 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-08 12:27:45,240 INFO L290 TraceCheckUtils]: 69: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,240 INFO L290 TraceCheckUtils]: 70: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,240 INFO L290 TraceCheckUtils]: 71: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,241 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-08 12:27:45,241 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-08 12:27:45,241 INFO L290 TraceCheckUtils]: 74: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,241 INFO L290 TraceCheckUtils]: 75: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,241 INFO L290 TraceCheckUtils]: 76: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,242 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-08 12:27:45,242 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-08 12:27:45,242 INFO L290 TraceCheckUtils]: 79: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,242 INFO L290 TraceCheckUtils]: 80: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,242 INFO L290 TraceCheckUtils]: 81: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,243 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-08 12:27:45,244 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-08 12:27:45,244 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-08 12:27:45,244 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-08 12:27:45,244 INFO L290 TraceCheckUtils]: 86: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,245 INFO L290 TraceCheckUtils]: 87: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,245 INFO L290 TraceCheckUtils]: 88: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,245 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-08 12:27:45,245 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-08 12:27:45,246 INFO L290 TraceCheckUtils]: 91: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,246 INFO L290 TraceCheckUtils]: 92: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,246 INFO L290 TraceCheckUtils]: 93: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,246 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-08 12:27:45,247 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-08 12:27:45,247 INFO L290 TraceCheckUtils]: 96: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,247 INFO L290 TraceCheckUtils]: 97: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,247 INFO L290 TraceCheckUtils]: 98: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,248 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-08 12:27:45,248 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-08 12:27:45,248 INFO L290 TraceCheckUtils]: 101: Hoare triple {18365#true} ~cond := #in~cond; {18515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:27:45,248 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-08 12:27:45,248 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-08 12:27:45,249 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-08 12:27:45,250 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-08 12:27:45,250 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-08 12:27:45,251 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-08 12:27:45,251 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-08 12:27:45,252 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-08 12:27:45,252 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-08 12:27:45,252 INFO L290 TraceCheckUtils]: 111: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,252 INFO L290 TraceCheckUtils]: 112: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,252 INFO L290 TraceCheckUtils]: 113: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,253 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-08 12:27:45,253 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-08 12:27:45,253 INFO L290 TraceCheckUtils]: 116: Hoare triple {18365#true} ~cond := #in~cond; {18365#true} is VALID [2022-04-08 12:27:45,253 INFO L290 TraceCheckUtils]: 117: Hoare triple {18365#true} assume !(0 == ~cond); {18365#true} is VALID [2022-04-08 12:27:45,253 INFO L290 TraceCheckUtils]: 118: Hoare triple {18365#true} assume true; {18365#true} is VALID [2022-04-08 12:27:45,253 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-08 12:27:45,254 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-08 12:27:45,254 INFO L290 TraceCheckUtils]: 121: Hoare triple {18365#true} ~cond := #in~cond; {18515#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:27:45,254 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-08 12:27:45,254 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-08 12:27:45,255 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-08 12:27:45,258 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-08 12:27:45,258 INFO L290 TraceCheckUtils]: 126: Hoare triple {18757#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18761#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:27:45,258 INFO L290 TraceCheckUtils]: 127: Hoare triple {18761#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18366#false} is VALID [2022-04-08 12:27:45,258 INFO L290 TraceCheckUtils]: 128: Hoare triple {18366#false} assume !false; {18366#false} is VALID [2022-04-08 12:27:45,259 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-08 12:27:45,259 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:28:36,573 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:28:36,573 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [360032254] [2022-04-08 12:28:36,573 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:28:36,573 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [551117294] [2022-04-08 12:28:36,573 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [551117294] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 12:28:36,573 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 12:28:36,573 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16] total 16 [2022-04-08 12:28:36,574 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:28:36,574 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [685965695] [2022-04-08 12:28:36,574 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [685965695] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:28:36,574 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:28:36,574 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [16] imperfect sequences [] total 16 [2022-04-08 12:28:36,574 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [55816125] [2022-04-08 12:28:36,574 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:28:36,574 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-08 12:28:36,575 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:28:36,575 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-08 12:28:36,649 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-08 12:28:36,649 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-08 12:28:36,649 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:36,649 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-08 12:28:36,650 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=105, Invalid=401, Unknown=0, NotChecked=0, Total=506 [2022-04-08 12:28:36,650 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-08 12:28:41,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:41,531 INFO L93 Difference]: Finished difference Result 196 states and 260 transitions. [2022-04-08 12:28:41,531 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-08 12:28:41,531 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-08 12:28:41,531 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:28:41,531 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-08 12:28:41,532 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 88 transitions. [2022-04-08 12:28:41,532 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-08 12:28:41,533 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 88 transitions. [2022-04-08 12:28:41,533 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 88 transitions. [2022-04-08 12:28:41,634 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-08 12:28:41,637 INFO L225 Difference]: With dead ends: 196 [2022-04-08 12:28:41,637 INFO L226 Difference]: Without dead ends: 194 [2022-04-08 12:28:41,638 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 160 GetRequests, 131 SyntacticMatches, 1 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 176 ImplicationChecksByTransitivity, 1.6s TimeCoverageRelationStatistics Valid=171, Invalid=699, Unknown=0, NotChecked=0, Total=870 [2022-04-08 12:28:41,638 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 32 mSDsluCounter, 191 mSDsCounter, 0 mSdLazyCounter, 636 mSolverCounterSat, 32 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.9s 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.9s IncrementalHoareTripleChecker+Time [2022-04-08 12:28:41,638 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 230 Invalid, 668 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [32 Valid, 636 Invalid, 0 Unknown, 0 Unchecked, 1.9s Time] [2022-04-08 12:28:41,639 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 194 states. [2022-04-08 12:28:42,243 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 194 to 193. [2022-04-08 12:28:42,244 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:28:42,250 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-08 12:28:42,250 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-08 12:28:42,250 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-08 12:28:42,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:42,254 INFO L93 Difference]: Finished difference Result 194 states and 258 transitions. [2022-04-08 12:28:42,254 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 258 transitions. [2022-04-08 12:28:42,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:42,255 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:42,255 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-08 12:28:42,255 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-08 12:28:42,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:42,259 INFO L93 Difference]: Finished difference Result 194 states and 258 transitions. [2022-04-08 12:28:42,259 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 258 transitions. [2022-04-08 12:28:42,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:42,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:42,260 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:28:42,260 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:28:42,260 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-08 12:28:42,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 193 states to 193 states and 257 transitions. [2022-04-08 12:28:42,264 INFO L78 Accepts]: Start accepts. Automaton has 193 states and 257 transitions. Word has length 129 [2022-04-08 12:28:42,264 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:28:42,264 INFO L478 AbstractCegarLoop]: Abstraction has 193 states and 257 transitions. [2022-04-08 12:28:42,264 INFO L479 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-08 12:28:42,264 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 193 states and 257 transitions. [2022-04-08 12:28:42,758 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-08 12:28:42,759 INFO L276 IsEmpty]: Start isEmpty. Operand 193 states and 257 transitions. [2022-04-08 12:28:42,759 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 136 [2022-04-08 12:28:42,760 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:28:42,760 INFO L499 BasicCegarLoop]: 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-08 12:28:42,776 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Ended with exit code 0 [2022-04-08 12:28:42,976 WARN L460 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-08 12:28:42,976 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:28:42,977 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:28:42,977 INFO L85 PathProgramCache]: Analyzing trace with hash 1068997356, now seen corresponding path program 7 times [2022-04-08 12:28:42,977 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:42,977 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2071790558] [2022-04-08 12:28:42,977 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:28:42,977 INFO L85 PathProgramCache]: Analyzing trace with hash 1068997356, now seen corresponding path program 8 times [2022-04-08 12:28:42,978 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:28:42,978 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1288371812] [2022-04-08 12:28:42,978 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:28:42,978 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:28:42,992 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:28:42,992 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [301210723] [2022-04-08 12:28:42,992 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:28:42,993 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:28:42,993 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:28:42,993 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-08 12:28:42,995 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-08 12:28:43,053 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:28:43,053 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:28:43,054 INFO L263 TraceCheckSpWp]: Trace formula consists of 317 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-08 12:28:43,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:43,073 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:28:43,566 INFO L272 TraceCheckUtils]: 0: Hoare triple {20029#true} call ULTIMATE.init(); {20029#true} is VALID [2022-04-08 12:28:43,566 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-08 12:28:43,566 INFO L290 TraceCheckUtils]: 2: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,566 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20029#true} {20029#true} #103#return; {20029#true} is VALID [2022-04-08 12:28:43,566 INFO L272 TraceCheckUtils]: 4: Hoare triple {20029#true} call #t~ret6 := main(); {20029#true} is VALID [2022-04-08 12:28:43,567 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-08 12:28:43,567 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-08 12:28:43,567 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-08 12:28:43,567 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-08 12:28:43,568 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-08 12:28:43,568 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-08 12:28:43,569 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-08 12:28:43,569 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-08 12:28:43,569 INFO L290 TraceCheckUtils]: 13: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,569 INFO L290 TraceCheckUtils]: 14: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,569 INFO L290 TraceCheckUtils]: 15: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,569 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-08 12:28:43,569 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-08 12:28:43,570 INFO L290 TraceCheckUtils]: 18: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,570 INFO L290 TraceCheckUtils]: 19: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,570 INFO L290 TraceCheckUtils]: 20: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,570 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-08 12:28:43,570 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-08 12:28:43,570 INFO L290 TraceCheckUtils]: 23: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,570 INFO L290 TraceCheckUtils]: 24: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,570 INFO L290 TraceCheckUtils]: 25: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,571 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-08 12:28:43,571 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-08 12:28:43,571 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-08 12:28:43,571 INFO L290 TraceCheckUtils]: 29: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,572 INFO L290 TraceCheckUtils]: 30: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,572 INFO L290 TraceCheckUtils]: 31: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,572 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20029#true} {20118#(<= main_~a~0 2)} #87#return; {20118#(<= main_~a~0 2)} is VALID [2022-04-08 12:28:43,572 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-08 12:28:43,572 INFO L290 TraceCheckUtils]: 34: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,572 INFO L290 TraceCheckUtils]: 35: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,572 INFO L290 TraceCheckUtils]: 36: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,573 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {20029#true} {20118#(<= main_~a~0 2)} #89#return; {20118#(<= main_~a~0 2)} is VALID [2022-04-08 12:28:43,573 INFO L290 TraceCheckUtils]: 38: Hoare triple {20118#(<= main_~a~0 2)} assume !false; {20118#(<= main_~a~0 2)} is VALID [2022-04-08 12:28:43,573 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-08 12:28:43,574 INFO L290 TraceCheckUtils]: 40: Hoare triple {20155#(<= main_~c~0 2)} assume !false; {20155#(<= main_~c~0 2)} is VALID [2022-04-08 12:28:43,574 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-08 12:28:43,574 INFO L290 TraceCheckUtils]: 42: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,574 INFO L290 TraceCheckUtils]: 43: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,574 INFO L290 TraceCheckUtils]: 44: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,574 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #91#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-08 12:28:43,575 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-08 12:28:43,575 INFO L290 TraceCheckUtils]: 47: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,575 INFO L290 TraceCheckUtils]: 48: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,575 INFO L290 TraceCheckUtils]: 49: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,575 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #93#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-08 12:28:43,575 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-08 12:28:43,576 INFO L290 TraceCheckUtils]: 52: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,576 INFO L290 TraceCheckUtils]: 53: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,576 INFO L290 TraceCheckUtils]: 54: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,576 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #95#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-08 12:28:43,576 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-08 12:28:43,576 INFO L290 TraceCheckUtils]: 57: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,577 INFO L290 TraceCheckUtils]: 58: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,577 INFO L290 TraceCheckUtils]: 59: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,577 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #97#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-08 12:28:43,578 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-08 12:28:43,578 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-08 12:28:43,579 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-08 12:28:43,579 INFO L290 TraceCheckUtils]: 64: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,579 INFO L290 TraceCheckUtils]: 65: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,579 INFO L290 TraceCheckUtils]: 66: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,579 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-08 12:28:43,579 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-08 12:28:43,580 INFO L290 TraceCheckUtils]: 69: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,580 INFO L290 TraceCheckUtils]: 70: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,580 INFO L290 TraceCheckUtils]: 71: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,580 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-08 12:28:43,580 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-08 12:28:43,580 INFO L290 TraceCheckUtils]: 74: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,581 INFO L290 TraceCheckUtils]: 75: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,581 INFO L290 TraceCheckUtils]: 76: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,581 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-08 12:28:43,581 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-08 12:28:43,581 INFO L290 TraceCheckUtils]: 79: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,581 INFO L290 TraceCheckUtils]: 80: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,582 INFO L290 TraceCheckUtils]: 81: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,582 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-08 12:28:43,583 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-08 12:28:43,584 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-08 12:28:43,584 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-08 12:28:43,584 INFO L290 TraceCheckUtils]: 86: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,584 INFO L290 TraceCheckUtils]: 87: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,584 INFO L290 TraceCheckUtils]: 88: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,584 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-08 12:28:43,585 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-08 12:28:43,585 INFO L290 TraceCheckUtils]: 91: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,585 INFO L290 TraceCheckUtils]: 92: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,585 INFO L290 TraceCheckUtils]: 93: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,585 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-08 12:28:43,586 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-08 12:28:43,586 INFO L290 TraceCheckUtils]: 96: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,586 INFO L290 TraceCheckUtils]: 97: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,586 INFO L290 TraceCheckUtils]: 98: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,586 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-08 12:28:43,586 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-08 12:28:43,587 INFO L290 TraceCheckUtils]: 101: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,587 INFO L290 TraceCheckUtils]: 102: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,587 INFO L290 TraceCheckUtils]: 103: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,587 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-08 12:28:43,589 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-08 12:28:43,589 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-08 12:28:43,589 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-08 12:28:43,589 INFO L290 TraceCheckUtils]: 108: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,589 INFO L290 TraceCheckUtils]: 109: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,589 INFO L290 TraceCheckUtils]: 110: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,590 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-08 12:28:43,590 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-08 12:28:43,590 INFO L290 TraceCheckUtils]: 113: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,590 INFO L290 TraceCheckUtils]: 114: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,590 INFO L290 TraceCheckUtils]: 115: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,591 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-08 12:28:43,591 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-08 12:28:43,591 INFO L290 TraceCheckUtils]: 118: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,591 INFO L290 TraceCheckUtils]: 119: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,591 INFO L290 TraceCheckUtils]: 120: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,592 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-08 12:28:43,592 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-08 12:28:43,592 INFO L290 TraceCheckUtils]: 123: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:43,592 INFO L290 TraceCheckUtils]: 124: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:43,592 INFO L290 TraceCheckUtils]: 125: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:43,593 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-08 12:28:43,594 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-08 12:28:43,594 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-08 12:28:43,594 INFO L290 TraceCheckUtils]: 129: Hoare triple {20030#false} assume !false; {20030#false} is VALID [2022-04-08 12:28:43,594 INFO L290 TraceCheckUtils]: 130: Hoare triple {20030#false} assume !(0 != ~b~0); {20030#false} is VALID [2022-04-08 12:28:43,594 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-08 12:28:43,594 INFO L290 TraceCheckUtils]: 132: Hoare triple {20030#false} ~cond := #in~cond; {20030#false} is VALID [2022-04-08 12:28:43,594 INFO L290 TraceCheckUtils]: 133: Hoare triple {20030#false} assume 0 == ~cond; {20030#false} is VALID [2022-04-08 12:28:43,594 INFO L290 TraceCheckUtils]: 134: Hoare triple {20030#false} assume !false; {20030#false} is VALID [2022-04-08 12:28:43,595 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-08 12:28:43,595 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:28:44,144 INFO L290 TraceCheckUtils]: 134: Hoare triple {20030#false} assume !false; {20030#false} is VALID [2022-04-08 12:28:44,144 INFO L290 TraceCheckUtils]: 133: Hoare triple {20030#false} assume 0 == ~cond; {20030#false} is VALID [2022-04-08 12:28:44,144 INFO L290 TraceCheckUtils]: 132: Hoare triple {20030#false} ~cond := #in~cond; {20030#false} is VALID [2022-04-08 12:28:44,144 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-08 12:28:44,144 INFO L290 TraceCheckUtils]: 130: Hoare triple {20030#false} assume !(0 != ~b~0); {20030#false} is VALID [2022-04-08 12:28:44,145 INFO L290 TraceCheckUtils]: 129: Hoare triple {20030#false} assume !false; {20030#false} is VALID [2022-04-08 12:28:44,145 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-08 12:28:44,145 INFO L290 TraceCheckUtils]: 127: Hoare triple {20465#(<= main_~b~0 main_~c~0)} assume !(~c~0 >= ~b~0); {20030#false} is VALID [2022-04-08 12:28:44,146 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-08 12:28:44,146 INFO L290 TraceCheckUtils]: 125: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,146 INFO L290 TraceCheckUtils]: 124: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,146 INFO L290 TraceCheckUtils]: 123: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,146 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-08 12:28:44,146 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-08 12:28:44,147 INFO L290 TraceCheckUtils]: 120: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,147 INFO L290 TraceCheckUtils]: 119: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,147 INFO L290 TraceCheckUtils]: 118: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,147 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-08 12:28:44,147 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-08 12:28:44,148 INFO L290 TraceCheckUtils]: 115: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,148 INFO L290 TraceCheckUtils]: 114: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,148 INFO L290 TraceCheckUtils]: 113: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,148 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-08 12:28:44,148 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-08 12:28:44,148 INFO L290 TraceCheckUtils]: 110: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,148 INFO L290 TraceCheckUtils]: 109: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,149 INFO L290 TraceCheckUtils]: 108: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,149 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-08 12:28:44,149 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-08 12:28:44,150 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-08 12:28:44,151 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-08 12:28:44,151 INFO L290 TraceCheckUtils]: 103: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,151 INFO L290 TraceCheckUtils]: 102: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,151 INFO L290 TraceCheckUtils]: 101: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,151 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-08 12:28:44,152 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-08 12:28:44,152 INFO L290 TraceCheckUtils]: 98: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,152 INFO L290 TraceCheckUtils]: 97: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,152 INFO L290 TraceCheckUtils]: 96: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,152 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-08 12:28:44,152 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-08 12:28:44,153 INFO L290 TraceCheckUtils]: 93: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,153 INFO L290 TraceCheckUtils]: 92: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,153 INFO L290 TraceCheckUtils]: 91: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,153 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-08 12:28:44,153 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-08 12:28:44,153 INFO L290 TraceCheckUtils]: 88: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,153 INFO L290 TraceCheckUtils]: 87: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,154 INFO L290 TraceCheckUtils]: 86: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,154 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-08 12:28:44,154 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-08 12:28:44,155 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-08 12:28:44,155 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-08 12:28:44,156 INFO L290 TraceCheckUtils]: 81: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,156 INFO L290 TraceCheckUtils]: 80: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,156 INFO L290 TraceCheckUtils]: 79: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,156 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-08 12:28:44,156 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-08 12:28:44,156 INFO L290 TraceCheckUtils]: 76: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,157 INFO L290 TraceCheckUtils]: 75: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,157 INFO L290 TraceCheckUtils]: 74: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,157 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-08 12:28:44,157 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-08 12:28:44,157 INFO L290 TraceCheckUtils]: 71: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,157 INFO L290 TraceCheckUtils]: 70: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,158 INFO L290 TraceCheckUtils]: 69: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,158 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-08 12:28:44,158 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-08 12:28:44,158 INFO L290 TraceCheckUtils]: 66: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,158 INFO L290 TraceCheckUtils]: 65: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,158 INFO L290 TraceCheckUtils]: 64: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,158 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-08 12:28:44,159 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-08 12:28:44,160 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-08 12:28:44,160 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #97#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-08 12:28:44,160 INFO L290 TraceCheckUtils]: 59: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,161 INFO L290 TraceCheckUtils]: 58: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,161 INFO L290 TraceCheckUtils]: 57: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,161 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-08 12:28:44,161 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #95#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-08 12:28:44,161 INFO L290 TraceCheckUtils]: 54: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,161 INFO L290 TraceCheckUtils]: 53: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,162 INFO L290 TraceCheckUtils]: 52: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,162 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-08 12:28:44,162 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #93#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-08 12:28:44,162 INFO L290 TraceCheckUtils]: 49: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,162 INFO L290 TraceCheckUtils]: 48: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,162 INFO L290 TraceCheckUtils]: 47: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,162 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-08 12:28:44,163 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {20029#true} {20155#(<= main_~c~0 2)} #91#return; {20155#(<= main_~c~0 2)} is VALID [2022-04-08 12:28:44,163 INFO L290 TraceCheckUtils]: 44: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,163 INFO L290 TraceCheckUtils]: 43: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,163 INFO L290 TraceCheckUtils]: 42: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,163 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-08 12:28:44,164 INFO L290 TraceCheckUtils]: 40: Hoare triple {20155#(<= main_~c~0 2)} assume !false; {20155#(<= main_~c~0 2)} is VALID [2022-04-08 12:28:44,164 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-08 12:28:44,164 INFO L290 TraceCheckUtils]: 38: Hoare triple {20118#(<= main_~a~0 2)} assume !false; {20118#(<= main_~a~0 2)} is VALID [2022-04-08 12:28:44,165 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {20029#true} {20118#(<= main_~a~0 2)} #89#return; {20118#(<= main_~a~0 2)} is VALID [2022-04-08 12:28:44,165 INFO L290 TraceCheckUtils]: 36: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,165 INFO L290 TraceCheckUtils]: 35: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,165 INFO L290 TraceCheckUtils]: 34: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,165 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-08 12:28:44,165 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20029#true} {20118#(<= main_~a~0 2)} #87#return; {20118#(<= main_~a~0 2)} is VALID [2022-04-08 12:28:44,165 INFO L290 TraceCheckUtils]: 31: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,166 INFO L290 TraceCheckUtils]: 30: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,166 INFO L290 TraceCheckUtils]: 29: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,166 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-08 12:28:44,166 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-08 12:28:44,167 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {20029#true} {20768#(<= main_~x~0 2)} #85#return; {20768#(<= main_~x~0 2)} is VALID [2022-04-08 12:28:44,167 INFO L290 TraceCheckUtils]: 25: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,167 INFO L290 TraceCheckUtils]: 24: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,167 INFO L290 TraceCheckUtils]: 23: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,167 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-08 12:28:44,167 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {20029#true} {20768#(<= main_~x~0 2)} #83#return; {20768#(<= main_~x~0 2)} is VALID [2022-04-08 12:28:44,167 INFO L290 TraceCheckUtils]: 20: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,167 INFO L290 TraceCheckUtils]: 19: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,168 INFO L290 TraceCheckUtils]: 18: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,168 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-08 12:28:44,168 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {20029#true} {20768#(<= main_~x~0 2)} #81#return; {20768#(<= main_~x~0 2)} is VALID [2022-04-08 12:28:44,168 INFO L290 TraceCheckUtils]: 15: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,168 INFO L290 TraceCheckUtils]: 14: Hoare triple {20029#true} assume !(0 == ~cond); {20029#true} is VALID [2022-04-08 12:28:44,168 INFO L290 TraceCheckUtils]: 13: Hoare triple {20029#true} ~cond := #in~cond; {20029#true} is VALID [2022-04-08 12:28:44,168 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-08 12:28:44,169 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-08 12:28:44,169 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-08 12:28:44,169 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-08 12:28:44,170 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-08 12:28:44,170 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-08 12:28:44,170 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-08 12:28:44,170 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-08 12:28:44,170 INFO L272 TraceCheckUtils]: 4: Hoare triple {20029#true} call #t~ret6 := main(); {20029#true} is VALID [2022-04-08 12:28:44,170 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20029#true} {20029#true} #103#return; {20029#true} is VALID [2022-04-08 12:28:44,171 INFO L290 TraceCheckUtils]: 2: Hoare triple {20029#true} assume true; {20029#true} is VALID [2022-04-08 12:28:44,171 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-08 12:28:44,171 INFO L272 TraceCheckUtils]: 0: Hoare triple {20029#true} call ULTIMATE.init(); {20029#true} is VALID [2022-04-08 12:28:44,171 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-08 12:28:44,171 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:28:44,171 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1288371812] [2022-04-08 12:28:44,171 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:28:44,172 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [301210723] [2022-04-08 12:28:44,172 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [301210723] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:28:44,172 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:28:44,172 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 15 [2022-04-08 12:28:44,172 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:28:44,172 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2071790558] [2022-04-08 12:28:44,172 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2071790558] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:28:44,172 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:28:44,172 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 12:28:44,172 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1087185759] [2022-04-08 12:28:44,172 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:28:44,173 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-08 12:28:44,173 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:28:44,173 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-08 12:28:44,233 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-08 12:28:44,233 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 12:28:44,233 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:44,233 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 12:28:44,234 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=174, Unknown=0, NotChecked=0, Total=210 [2022-04-08 12:28:44,234 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-08 12:28:45,691 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:45,692 INFO L93 Difference]: Finished difference Result 234 states and 309 transitions. [2022-04-08 12:28:45,692 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 12:28:45,692 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-08 12:28:45,692 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:28:45,692 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-08 12:28:45,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 118 transitions. [2022-04-08 12:28:45,694 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-08 12:28:45,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 118 transitions. [2022-04-08 12:28:45,695 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 118 transitions. [2022-04-08 12:28:45,797 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-08 12:28:45,799 INFO L225 Difference]: With dead ends: 234 [2022-04-08 12:28:45,800 INFO L226 Difference]: Without dead ends: 165 [2022-04-08 12:28:45,800 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 276 GetRequests, 255 SyntacticMatches, 1 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=91, Invalid=371, Unknown=0, NotChecked=0, Total=462 [2022-04-08 12:28:45,800 INFO L913 BasicCegarLoop]: 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-08 12:28:45,801 INFO L914 BasicCegarLoop]: 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-08 12:28:45,801 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states. [2022-04-08 12:28:46,266 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 132. [2022-04-08 12:28:46,267 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:28:46,267 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-08 12:28:46,267 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-08 12:28:46,267 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-08 12:28:46,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:46,270 INFO L93 Difference]: Finished difference Result 165 states and 209 transitions. [2022-04-08 12:28:46,270 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 209 transitions. [2022-04-08 12:28:46,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:46,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:46,271 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-08 12:28:46,271 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-08 12:28:46,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:28:46,274 INFO L93 Difference]: Finished difference Result 165 states and 209 transitions. [2022-04-08 12:28:46,274 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 209 transitions. [2022-04-08 12:28:46,274 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:28:46,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:28:46,274 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:28:46,274 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:28:46,275 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-08 12:28:46,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 166 transitions. [2022-04-08 12:28:46,278 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 166 transitions. Word has length 135 [2022-04-08 12:28:46,278 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:28:46,278 INFO L478 AbstractCegarLoop]: Abstraction has 132 states and 166 transitions. [2022-04-08 12:28:46,278 INFO L479 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-08 12:28:46,278 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 132 states and 166 transitions. [2022-04-08 12:28:46,616 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-08 12:28:46,617 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 166 transitions. [2022-04-08 12:28:46,617 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 139 [2022-04-08 12:28:46,617 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:28:46,618 INFO L499 BasicCegarLoop]: 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-08 12:28:46,636 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-08 12:28:46,818 WARN L460 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-08 12:28:46,818 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:28:46,818 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:28:46,819 INFO L85 PathProgramCache]: Analyzing trace with hash -896647763, now seen corresponding path program 9 times [2022-04-08 12:28:46,819 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:28:46,819 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1496712100] [2022-04-08 12:28:46,819 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:28:46,819 INFO L85 PathProgramCache]: Analyzing trace with hash -896647763, now seen corresponding path program 10 times [2022-04-08 12:28:46,819 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:28:46,819 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1018892536] [2022-04-08 12:28:46,820 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:28:46,820 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:28:46,829 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:28:46,829 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [250522692] [2022-04-08 12:28:46,829 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 12:28:46,830 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:28:46,830 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:28:46,830 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-08 12:28:46,836 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-08 12:28:46,886 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 12:28:46,886 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:28:46,887 INFO L263 TraceCheckSpWp]: Trace formula consists of 294 conjuncts, 83 conjunts are in the unsatisfiable core [2022-04-08 12:28:46,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:28:46,920 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:29:13,389 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:29:19,443 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:29:19,474 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:29:20,639 INFO L272 TraceCheckUtils]: 0: Hoare triple {21929#true} call ULTIMATE.init(); {21929#true} is VALID [2022-04-08 12:29:20,639 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-08 12:29:20,639 INFO L290 TraceCheckUtils]: 2: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,639 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21929#true} {21929#true} #103#return; {21929#true} is VALID [2022-04-08 12:29:20,639 INFO L272 TraceCheckUtils]: 4: Hoare triple {21929#true} call #t~ret6 := main(); {21929#true} is VALID [2022-04-08 12:29:20,640 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-08 12:29:20,640 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-08 12:29:20,640 INFO L290 TraceCheckUtils]: 7: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,640 INFO L290 TraceCheckUtils]: 8: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,640 INFO L290 TraceCheckUtils]: 9: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,640 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21929#true} {21929#true} #79#return; {21929#true} is VALID [2022-04-08 12:29:20,640 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-08 12:29:20,640 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-08 12:29:20,640 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-08 12:29:20,641 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-08 12:29:20,641 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-08 12:29:20,642 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-08 12:29:20,642 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-08 12:29:20,642 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-08 12:29:20,642 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-08 12:29:20,643 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-08 12:29:20,643 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-08 12:29:20,643 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-08 12:29:20,643 INFO L290 TraceCheckUtils]: 23: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,643 INFO L290 TraceCheckUtils]: 24: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,643 INFO L290 TraceCheckUtils]: 25: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,644 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-08 12:29:20,644 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-08 12:29:20,644 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-08 12:29:20,645 INFO L290 TraceCheckUtils]: 29: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,645 INFO L290 TraceCheckUtils]: 30: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,645 INFO L290 TraceCheckUtils]: 31: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,645 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-08 12:29:20,645 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-08 12:29:20,646 INFO L290 TraceCheckUtils]: 34: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,646 INFO L290 TraceCheckUtils]: 35: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,646 INFO L290 TraceCheckUtils]: 36: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,646 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-08 12:29:20,647 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-08 12:29:20,647 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-08 12:29:20,647 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-08 12:29:20,648 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-08 12:29:20,648 INFO L290 TraceCheckUtils]: 42: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,648 INFO L290 TraceCheckUtils]: 43: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,648 INFO L290 TraceCheckUtils]: 44: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,648 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-08 12:29:20,649 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-08 12:29:20,649 INFO L290 TraceCheckUtils]: 47: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,649 INFO L290 TraceCheckUtils]: 48: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,649 INFO L290 TraceCheckUtils]: 49: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,649 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-08 12:29:20,650 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-08 12:29:20,650 INFO L290 TraceCheckUtils]: 52: Hoare triple {21929#true} ~cond := #in~cond; {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:29:20,650 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-08 12:29:20,650 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-08 12:29:20,651 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-08 12:29:20,651 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-08 12:29:20,651 INFO L290 TraceCheckUtils]: 57: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,651 INFO L290 TraceCheckUtils]: 58: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,651 INFO L290 TraceCheckUtils]: 59: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,652 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-08 12:29:20,653 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-08 12:29:20,653 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-08 12:29:20,653 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-08 12:29:20,654 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-08 12:29:20,654 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-08 12:29:20,654 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-08 12:29:20,655 INFO L290 TraceCheckUtils]: 67: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,655 INFO L290 TraceCheckUtils]: 68: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,655 INFO L290 TraceCheckUtils]: 69: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,655 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-08 12:29:20,655 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-08 12:29:20,656 INFO L290 TraceCheckUtils]: 72: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,656 INFO L290 TraceCheckUtils]: 73: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,656 INFO L290 TraceCheckUtils]: 74: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,656 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-08 12:29:20,656 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-08 12:29:20,656 INFO L290 TraceCheckUtils]: 77: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,657 INFO L290 TraceCheckUtils]: 78: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,657 INFO L290 TraceCheckUtils]: 79: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,657 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-08 12:29:20,657 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-08 12:29:20,657 INFO L290 TraceCheckUtils]: 82: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,658 INFO L290 TraceCheckUtils]: 83: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,658 INFO L290 TraceCheckUtils]: 84: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,658 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-08 12:29:20,660 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-08 12:29:20,660 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-08 12:29:20,660 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-08 12:29:20,660 INFO L290 TraceCheckUtils]: 89: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,660 INFO L290 TraceCheckUtils]: 90: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,661 INFO L290 TraceCheckUtils]: 91: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,661 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-08 12:29:20,661 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-08 12:29:20,661 INFO L290 TraceCheckUtils]: 94: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,661 INFO L290 TraceCheckUtils]: 95: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,661 INFO L290 TraceCheckUtils]: 96: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,662 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-08 12:29:20,662 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-08 12:29:20,662 INFO L290 TraceCheckUtils]: 99: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,662 INFO L290 TraceCheckUtils]: 100: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,662 INFO L290 TraceCheckUtils]: 101: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,663 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-08 12:29:20,663 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-08 12:29:20,663 INFO L290 TraceCheckUtils]: 104: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,663 INFO L290 TraceCheckUtils]: 105: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,663 INFO L290 TraceCheckUtils]: 106: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,664 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-08 12:29:20,665 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-08 12:29:20,666 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-08 12:29:20,666 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-08 12:29:20,666 INFO L290 TraceCheckUtils]: 111: Hoare triple {21929#true} ~cond := #in~cond; {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:29:20,666 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-08 12:29:20,667 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-08 12:29:20,668 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-08 12:29:20,668 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-08 12:29:20,668 INFO L290 TraceCheckUtils]: 116: Hoare triple {21929#true} ~cond := #in~cond; {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:29:20,668 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-08 12:29:20,668 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-08 12:29:20,670 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-08 12:29:20,670 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-08 12:29:20,670 INFO L290 TraceCheckUtils]: 121: Hoare triple {21929#true} ~cond := #in~cond; {22096#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:29:20,671 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-08 12:29:20,671 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-08 12:29:20,672 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-08 12:29:20,672 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-08 12:29:20,672 INFO L290 TraceCheckUtils]: 126: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:29:20,672 INFO L290 TraceCheckUtils]: 127: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:29:20,672 INFO L290 TraceCheckUtils]: 128: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:29:20,673 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-08 12:29:20,675 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-08 12:29:20,681 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-08 12:29:20,682 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-08 12:29:20,683 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-08 12:29:20,691 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#(exists ((main_~k~0 Int) (v_main_~q~0_BEFORE_CALL_126 Int) (v_main_~x~0_BEFORE_CALL_166 Int)) (and (<= (* main_~k~0 v_main_~x~0_BEFORE_CALL_166 (div (* (- 1) v_main_~q~0_BEFORE_CALL_126) main_~k~0)) 2) (= (mod (* (- 1) v_main_~q~0_BEFORE_CALL_126) main_~k~0) 0) (<= 1 |__VERIFIER_assert_#in~cond|) (= (+ (* main_~k~0 (* main_~k~0 v_main_~x~0_BEFORE_CALL_166 (div (* (- 1) v_main_~q~0_BEFORE_CALL_126) main_~k~0)) 0) (* main_~k~0 v_main_~x~0_BEFORE_CALL_166 (div (* (- 1) v_main_~q~0_BEFORE_CALL_126) main_~k~0))) (* 2 (* v_main_~x~0_BEFORE_CALL_166 (div (* (- 1) v_main_~q~0_BEFORE_CALL_126) main_~k~0)))) (<= 1 v_main_~x~0_BEFORE_CALL_166) (= v_main_~x~0_BEFORE_CALL_166 (* v_main_~x~0_BEFORE_CALL_166 (div (* (- 1) v_main_~q~0_BEFORE_CALL_126) main_~k~0)))))} is VALID [2022-04-08 12:29:20,692 INFO L290 TraceCheckUtils]: 135: Hoare triple {22355#(exists ((main_~k~0 Int) (v_main_~q~0_BEFORE_CALL_126 Int) (v_main_~x~0_BEFORE_CALL_166 Int)) (and (<= (* main_~k~0 v_main_~x~0_BEFORE_CALL_166 (div (* (- 1) v_main_~q~0_BEFORE_CALL_126) main_~k~0)) 2) (= (mod (* (- 1) v_main_~q~0_BEFORE_CALL_126) main_~k~0) 0) (<= 1 |__VERIFIER_assert_#in~cond|) (= (+ (* main_~k~0 (* main_~k~0 v_main_~x~0_BEFORE_CALL_166 (div (* (- 1) v_main_~q~0_BEFORE_CALL_126) main_~k~0)) 0) (* main_~k~0 v_main_~x~0_BEFORE_CALL_166 (div (* (- 1) v_main_~q~0_BEFORE_CALL_126) main_~k~0))) (* 2 (* v_main_~x~0_BEFORE_CALL_166 (div (* (- 1) v_main_~q~0_BEFORE_CALL_126) main_~k~0)))) (<= 1 v_main_~x~0_BEFORE_CALL_166) (= v_main_~x~0_BEFORE_CALL_166 (* v_main_~x~0_BEFORE_CALL_166 (div (* (- 1) v_main_~q~0_BEFORE_CALL_126) main_~k~0)))))} ~cond := #in~cond; {22359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:29:20,692 INFO L290 TraceCheckUtils]: 136: Hoare triple {22359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21930#false} is VALID [2022-04-08 12:29:20,692 INFO L290 TraceCheckUtils]: 137: Hoare triple {21930#false} assume !false; {21930#false} is VALID [2022-04-08 12:29:20,693 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-08 12:29:20,693 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:31:12,617 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:31:39,007 INFO L290 TraceCheckUtils]: 137: Hoare triple {21930#false} assume !false; {21930#false} is VALID [2022-04-08 12:31:39,008 INFO L290 TraceCheckUtils]: 136: Hoare triple {22359#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {21930#false} is VALID [2022-04-08 12:31:39,008 INFO L290 TraceCheckUtils]: 135: Hoare triple {22372#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22359#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:31:39,009 INFO L272 TraceCheckUtils]: 134: Hoare triple {22376#(= (+ (* 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)); {22372#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:31:39,009 INFO L290 TraceCheckUtils]: 133: Hoare triple {22380#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !(0 != ~b~0); {22376#(= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0)} is VALID [2022-04-08 12:31:39,009 INFO L290 TraceCheckUtils]: 132: Hoare triple {22380#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} assume !false; {22380#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is VALID [2022-04-08 12:31:41,011 WARN L290 TraceCheckUtils]: 131: Hoare triple {22387#(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; {22380#(or (not (= main_~b~0 0)) (= (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)) 0))} is UNKNOWN [2022-04-08 12:31:41,012 INFO L290 TraceCheckUtils]: 130: Hoare triple {22391#(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); {22387#(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-08 12:31:41,013 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {21929#true} {22391#(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; {22391#(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-08 12:31:41,013 INFO L290 TraceCheckUtils]: 128: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,013 INFO L290 TraceCheckUtils]: 127: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,013 INFO L290 TraceCheckUtils]: 126: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,013 INFO L272 TraceCheckUtils]: 125: Hoare triple {22391#(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-08 12:31:41,014 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {22410#(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; {22391#(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-08 12:31:41,014 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-08 12:31:41,014 INFO L290 TraceCheckUtils]: 122: Hoare triple {22420#(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-08 12:31:41,015 INFO L290 TraceCheckUtils]: 121: Hoare triple {21929#true} ~cond := #in~cond; {22420#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:31:41,015 INFO L272 TraceCheckUtils]: 120: Hoare triple {22410#(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-08 12:31:41,016 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {22427#(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; {22410#(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-08 12:31:41,016 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-08 12:31:41,016 INFO L290 TraceCheckUtils]: 117: Hoare triple {22420#(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-08 12:31:41,017 INFO L290 TraceCheckUtils]: 116: Hoare triple {21929#true} ~cond := #in~cond; {22420#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:31:41,017 INFO L272 TraceCheckUtils]: 115: Hoare triple {22427#(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-08 12:31:41,050 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {22100#(not (= |__VERIFIER_assert_#in~cond| 0))} {21929#true} #91#return; {22427#(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-08 12:31:41,050 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-08 12:31:41,051 INFO L290 TraceCheckUtils]: 112: Hoare triple {22420#(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-08 12:31:41,051 INFO L290 TraceCheckUtils]: 111: Hoare triple {21929#true} ~cond := #in~cond; {22420#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:31:41,051 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-08 12:31:41,051 INFO L290 TraceCheckUtils]: 109: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-08 12:31:41,051 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-08 12:31:41,051 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {21929#true} {21929#true} #97#return; {21929#true} is VALID [2022-04-08 12:31:41,051 INFO L290 TraceCheckUtils]: 106: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,051 INFO L290 TraceCheckUtils]: 105: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,052 INFO L290 TraceCheckUtils]: 104: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,052 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-08 12:31:41,052 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {21929#true} {21929#true} #95#return; {21929#true} is VALID [2022-04-08 12:31:41,052 INFO L290 TraceCheckUtils]: 101: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,052 INFO L290 TraceCheckUtils]: 100: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,052 INFO L290 TraceCheckUtils]: 99: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,052 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-08 12:31:41,052 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {21929#true} {21929#true} #93#return; {21929#true} is VALID [2022-04-08 12:31:41,052 INFO L290 TraceCheckUtils]: 96: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,052 INFO L290 TraceCheckUtils]: 95: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,052 INFO L290 TraceCheckUtils]: 94: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,053 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-08 12:31:41,053 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {21929#true} {21929#true} #91#return; {21929#true} is VALID [2022-04-08 12:31:41,053 INFO L290 TraceCheckUtils]: 91: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,053 INFO L290 TraceCheckUtils]: 90: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,053 INFO L290 TraceCheckUtils]: 89: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,053 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-08 12:31:41,053 INFO L290 TraceCheckUtils]: 87: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-08 12:31:41,053 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-08 12:31:41,053 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {21929#true} {21929#true} #97#return; {21929#true} is VALID [2022-04-08 12:31:41,053 INFO L290 TraceCheckUtils]: 84: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,053 INFO L290 TraceCheckUtils]: 83: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,054 INFO L290 TraceCheckUtils]: 82: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,054 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-08 12:31:41,054 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {21929#true} {21929#true} #95#return; {21929#true} is VALID [2022-04-08 12:31:41,054 INFO L290 TraceCheckUtils]: 79: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,054 INFO L290 TraceCheckUtils]: 78: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,054 INFO L290 TraceCheckUtils]: 77: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,054 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-08 12:31:41,054 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {21929#true} {21929#true} #93#return; {21929#true} is VALID [2022-04-08 12:31:41,054 INFO L290 TraceCheckUtils]: 74: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,054 INFO L290 TraceCheckUtils]: 73: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,054 INFO L290 TraceCheckUtils]: 72: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,055 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-08 12:31:41,055 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {21929#true} {21929#true} #91#return; {21929#true} is VALID [2022-04-08 12:31:41,055 INFO L290 TraceCheckUtils]: 69: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,055 INFO L290 TraceCheckUtils]: 68: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,055 INFO L290 TraceCheckUtils]: 67: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,055 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-08 12:31:41,055 INFO L290 TraceCheckUtils]: 65: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-08 12:31:41,055 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-08 12:31:41,055 INFO L290 TraceCheckUtils]: 63: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-08 12:31:41,055 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-08 12:31:41,055 INFO L290 TraceCheckUtils]: 61: Hoare triple {21929#true} assume !(~c~0 >= ~b~0); {21929#true} is VALID [2022-04-08 12:31:41,056 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {21929#true} {21929#true} #97#return; {21929#true} is VALID [2022-04-08 12:31:41,056 INFO L290 TraceCheckUtils]: 59: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,056 INFO L290 TraceCheckUtils]: 58: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,056 INFO L290 TraceCheckUtils]: 57: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,056 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-08 12:31:41,056 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {21929#true} {21929#true} #95#return; {21929#true} is VALID [2022-04-08 12:31:41,056 INFO L290 TraceCheckUtils]: 54: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,056 INFO L290 TraceCheckUtils]: 53: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,056 INFO L290 TraceCheckUtils]: 52: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,056 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-08 12:31:41,056 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {21929#true} {21929#true} #93#return; {21929#true} is VALID [2022-04-08 12:31:41,057 INFO L290 TraceCheckUtils]: 49: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,057 INFO L290 TraceCheckUtils]: 48: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,057 INFO L290 TraceCheckUtils]: 47: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,057 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-08 12:31:41,057 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {21929#true} {21929#true} #91#return; {21929#true} is VALID [2022-04-08 12:31:41,057 INFO L290 TraceCheckUtils]: 44: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,057 INFO L290 TraceCheckUtils]: 43: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,057 INFO L290 TraceCheckUtils]: 42: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,057 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-08 12:31:41,057 INFO L290 TraceCheckUtils]: 40: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-08 12:31:41,057 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-08 12:31:41,058 INFO L290 TraceCheckUtils]: 38: Hoare triple {21929#true} assume !false; {21929#true} is VALID [2022-04-08 12:31:41,058 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {21929#true} {21929#true} #89#return; {21929#true} is VALID [2022-04-08 12:31:41,058 INFO L290 TraceCheckUtils]: 36: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,058 INFO L290 TraceCheckUtils]: 35: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,058 INFO L290 TraceCheckUtils]: 34: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,058 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-08 12:31:41,058 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {21929#true} {21929#true} #87#return; {21929#true} is VALID [2022-04-08 12:31:41,058 INFO L290 TraceCheckUtils]: 31: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,058 INFO L290 TraceCheckUtils]: 30: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,058 INFO L290 TraceCheckUtils]: 29: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,058 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-08 12:31:41,059 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-08 12:31:41,059 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {21929#true} {21929#true} #85#return; {21929#true} is VALID [2022-04-08 12:31:41,059 INFO L290 TraceCheckUtils]: 25: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,059 INFO L290 TraceCheckUtils]: 24: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,059 INFO L290 TraceCheckUtils]: 23: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,059 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-08 12:31:41,059 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {21929#true} {21929#true} #83#return; {21929#true} is VALID [2022-04-08 12:31:41,059 INFO L290 TraceCheckUtils]: 20: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,059 INFO L290 TraceCheckUtils]: 19: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,059 INFO L290 TraceCheckUtils]: 18: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,060 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-08 12:31:41,060 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {21929#true} {21929#true} #81#return; {21929#true} is VALID [2022-04-08 12:31:41,060 INFO L290 TraceCheckUtils]: 15: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,060 INFO L290 TraceCheckUtils]: 14: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,060 INFO L290 TraceCheckUtils]: 13: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,060 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-08 12:31:41,060 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-08 12:31:41,060 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {21929#true} {21929#true} #79#return; {21929#true} is VALID [2022-04-08 12:31:41,060 INFO L290 TraceCheckUtils]: 9: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,060 INFO L290 TraceCheckUtils]: 8: Hoare triple {21929#true} assume !(0 == ~cond); {21929#true} is VALID [2022-04-08 12:31:41,060 INFO L290 TraceCheckUtils]: 7: Hoare triple {21929#true} ~cond := #in~cond; {21929#true} is VALID [2022-04-08 12:31:41,061 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-08 12:31:41,061 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-08 12:31:41,061 INFO L272 TraceCheckUtils]: 4: Hoare triple {21929#true} call #t~ret6 := main(); {21929#true} is VALID [2022-04-08 12:31:41,061 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {21929#true} {21929#true} #103#return; {21929#true} is VALID [2022-04-08 12:31:41,061 INFO L290 TraceCheckUtils]: 2: Hoare triple {21929#true} assume true; {21929#true} is VALID [2022-04-08 12:31:41,061 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-08 12:31:41,061 INFO L272 TraceCheckUtils]: 0: Hoare triple {21929#true} call ULTIMATE.init(); {21929#true} is VALID [2022-04-08 12:31:41,062 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-08 12:31:41,062 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:31:41,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1018892536] [2022-04-08 12:31:41,062 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:31:41,062 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [250522692] [2022-04-08 12:31:41,062 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [250522692] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:31:41,062 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:31:41,062 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [23, 12] total 31 [2022-04-08 12:31:41,062 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:31:41,063 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1496712100] [2022-04-08 12:31:41,063 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1496712100] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:31:41,063 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:31:41,063 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [23] imperfect sequences [] total 23 [2022-04-08 12:31:41,063 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [923655444] [2022-04-08 12:31:41,063 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:31:41,063 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-08 12:31:41,064 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:31:41,064 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-08 12:31:41,191 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-08 12:31:41,191 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-04-08 12:31:41,191 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:31:41,191 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-04-08 12:31:41,192 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=160, Invalid=770, Unknown=0, NotChecked=0, Total=930 [2022-04-08 12:31:41,192 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-08 12:31:44,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:31:44,652 INFO L93 Difference]: Finished difference Result 212 states and 276 transitions. [2022-04-08 12:31:44,652 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-04-08 12:31:44,652 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-08 12:31:44,652 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:31:44,653 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-08 12:31:44,655 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 138 transitions. [2022-04-08 12:31:44,655 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-08 12:31:44,657 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 138 transitions. [2022-04-08 12:31:44,657 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 20 states and 138 transitions. [2022-04-08 12:31:44,841 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-08 12:31:44,844 INFO L225 Difference]: With dead ends: 212 [2022-04-08 12:31:44,844 INFO L226 Difference]: Without dead ends: 161 [2022-04-08 12:31:44,845 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 283 GetRequests, 245 SyntacticMatches, 3 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 380 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=217, Invalid=1115, Unknown=0, NotChecked=0, Total=1332 [2022-04-08 12:31:44,845 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 38 mSDsluCounter, 275 mSDsCounter, 0 mSdLazyCounter, 675 mSolverCounterSat, 41 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 319 SdHoareTripleChecker+Invalid, 859 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 41 IncrementalHoareTripleChecker+Valid, 675 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 143 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-08 12:31:44,845 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [50 Valid, 319 Invalid, 859 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [41 Valid, 675 Invalid, 0 Unknown, 143 Unchecked, 1.1s Time] [2022-04-08 12:31:44,845 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-08 12:31:45,392 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 161. [2022-04-08 12:31:45,392 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:31:45,393 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 161 states, 86 states have (on average 1.069767441860465) internal successors, (92), 88 states have internal predecessors, (92), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) [2022-04-08 12:31:45,394 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 161 states, 86 states have (on average 1.069767441860465) internal successors, (92), 88 states have internal predecessors, (92), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) [2022-04-08 12:31:45,394 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 161 states, 86 states have (on average 1.069767441860465) internal successors, (92), 88 states have internal predecessors, (92), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) [2022-04-08 12:31:45,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:31:45,398 INFO L93 Difference]: Finished difference Result 161 states and 208 transitions. [2022-04-08 12:31:45,398 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 208 transitions. [2022-04-08 12:31:45,398 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:31:45,398 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:31:45,399 INFO L74 IsIncluded]: Start isIncluded. First operand has 161 states, 86 states have (on average 1.069767441860465) internal successors, (92), 88 states have internal predecessors, (92), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) Second operand 161 states. [2022-04-08 12:31:45,399 INFO L87 Difference]: Start difference. First operand has 161 states, 86 states have (on average 1.069767441860465) internal successors, (92), 88 states have internal predecessors, (92), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) Second operand 161 states. [2022-04-08 12:31:45,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:31:45,402 INFO L93 Difference]: Finished difference Result 161 states and 208 transitions. [2022-04-08 12:31:45,402 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 208 transitions. [2022-04-08 12:31:45,403 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:31:45,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:31:45,403 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:31:45,403 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:31:45,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 161 states, 86 states have (on average 1.069767441860465) internal successors, (92), 88 states have internal predecessors, (92), 59 states have call successors, (59), 16 states have call predecessors, (59), 15 states have return successors, (57), 56 states have call predecessors, (57), 57 states have call successors, (57) [2022-04-08 12:31:45,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 161 states to 161 states and 208 transitions. [2022-04-08 12:31:45,407 INFO L78 Accepts]: Start accepts. Automaton has 161 states and 208 transitions. Word has length 138 [2022-04-08 12:31:45,407 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:31:45,407 INFO L478 AbstractCegarLoop]: Abstraction has 161 states and 208 transitions. [2022-04-08 12:31:45,407 INFO L479 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-08 12:31:45,407 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 161 states and 208 transitions. [2022-04-08 12:31:45,884 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 208 edges. 208 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:31:45,884 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 208 transitions. [2022-04-08 12:31:45,885 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 144 [2022-04-08 12:31:45,885 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:31:45,885 INFO L499 BasicCegarLoop]: 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-08 12:31:45,902 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-08 12:31:46,099 WARN L460 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-08 12:31:46,099 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:31:46,100 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:31:46,100 INFO L85 PathProgramCache]: Analyzing trace with hash -206620137, now seen corresponding path program 1 times [2022-04-08 12:31:46,100 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:31:46,100 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [789795439] [2022-04-08 12:31:46,100 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:31:46,100 INFO L85 PathProgramCache]: Analyzing trace with hash -206620137, now seen corresponding path program 2 times [2022-04-08 12:31:46,100 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:31:46,101 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [571020204] [2022-04-08 12:31:46,101 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:31:46,101 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:31:46,112 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:31:46,112 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1236914082] [2022-04-08 12:31:46,112 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:31:46,112 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:31:46,112 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:31:46,113 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-08 12:31:46,114 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-08 12:31:46,175 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:31:46,175 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:31:46,176 INFO L263 TraceCheckSpWp]: Trace formula consists of 342 conjuncts, 18 conjunts are in the unsatisfiable core [2022-04-08 12:31:46,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:31:46,201 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:31:46,483 INFO L272 TraceCheckUtils]: 0: Hoare triple {23869#true} call ULTIMATE.init(); {23869#true} is VALID [2022-04-08 12:31:46,483 INFO L290 TraceCheckUtils]: 1: Hoare triple {23869#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); {23869#true} is VALID [2022-04-08 12:31:46,483 INFO L290 TraceCheckUtils]: 2: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,484 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23869#true} {23869#true} #103#return; {23869#true} is VALID [2022-04-08 12:31:46,484 INFO L272 TraceCheckUtils]: 4: Hoare triple {23869#true} call #t~ret6 := main(); {23869#true} is VALID [2022-04-08 12:31:46,484 INFO L290 TraceCheckUtils]: 5: Hoare triple {23869#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; {23869#true} is VALID [2022-04-08 12:31:46,484 INFO L272 TraceCheckUtils]: 6: Hoare triple {23869#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,484 INFO L290 TraceCheckUtils]: 7: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,484 INFO L290 TraceCheckUtils]: 8: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,484 INFO L290 TraceCheckUtils]: 9: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,484 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23869#true} {23869#true} #79#return; {23869#true} is VALID [2022-04-08 12:31:46,484 INFO L290 TraceCheckUtils]: 11: Hoare triple {23869#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23869#true} is VALID [2022-04-08 12:31:46,484 INFO L272 TraceCheckUtils]: 12: Hoare triple {23869#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,484 INFO L290 TraceCheckUtils]: 13: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,485 INFO L290 TraceCheckUtils]: 14: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,485 INFO L290 TraceCheckUtils]: 15: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,485 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23869#true} {23869#true} #81#return; {23869#true} is VALID [2022-04-08 12:31:46,485 INFO L272 TraceCheckUtils]: 17: Hoare triple {23869#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,485 INFO L290 TraceCheckUtils]: 18: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,485 INFO L290 TraceCheckUtils]: 19: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,485 INFO L290 TraceCheckUtils]: 20: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,485 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {23869#true} {23869#true} #83#return; {23869#true} is VALID [2022-04-08 12:31:46,485 INFO L272 TraceCheckUtils]: 22: Hoare triple {23869#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,485 INFO L290 TraceCheckUtils]: 23: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,486 INFO L290 TraceCheckUtils]: 24: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,486 INFO L290 TraceCheckUtils]: 25: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,486 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {23869#true} {23869#true} #85#return; {23869#true} is VALID [2022-04-08 12:31:46,486 INFO L290 TraceCheckUtils]: 27: Hoare triple {23869#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; {23869#true} is VALID [2022-04-08 12:31:46,486 INFO L272 TraceCheckUtils]: 28: Hoare triple {23869#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,486 INFO L290 TraceCheckUtils]: 29: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,486 INFO L290 TraceCheckUtils]: 30: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,486 INFO L290 TraceCheckUtils]: 31: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,486 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {23869#true} {23869#true} #87#return; {23869#true} is VALID [2022-04-08 12:31:46,486 INFO L272 TraceCheckUtils]: 33: Hoare triple {23869#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,486 INFO L290 TraceCheckUtils]: 34: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,487 INFO L290 TraceCheckUtils]: 35: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,487 INFO L290 TraceCheckUtils]: 36: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,490 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {23869#true} {23869#true} #89#return; {23869#true} is VALID [2022-04-08 12:31:46,491 INFO L290 TraceCheckUtils]: 38: Hoare triple {23869#true} assume !false; {23869#true} is VALID [2022-04-08 12:31:46,491 INFO L290 TraceCheckUtils]: 39: Hoare triple {23869#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23869#true} is VALID [2022-04-08 12:31:46,491 INFO L290 TraceCheckUtils]: 40: Hoare triple {23869#true} assume !false; {23869#true} is VALID [2022-04-08 12:31:46,491 INFO L272 TraceCheckUtils]: 41: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,491 INFO L290 TraceCheckUtils]: 42: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,491 INFO L290 TraceCheckUtils]: 43: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,491 INFO L290 TraceCheckUtils]: 44: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,491 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {23869#true} {23869#true} #91#return; {23869#true} is VALID [2022-04-08 12:31:46,491 INFO L272 TraceCheckUtils]: 46: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,491 INFO L290 TraceCheckUtils]: 47: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,491 INFO L290 TraceCheckUtils]: 48: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,492 INFO L290 TraceCheckUtils]: 49: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,492 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {23869#true} {23869#true} #93#return; {23869#true} is VALID [2022-04-08 12:31:46,492 INFO L272 TraceCheckUtils]: 51: Hoare triple {23869#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,492 INFO L290 TraceCheckUtils]: 52: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,492 INFO L290 TraceCheckUtils]: 53: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,492 INFO L290 TraceCheckUtils]: 54: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,492 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {23869#true} {23869#true} #95#return; {23869#true} is VALID [2022-04-08 12:31:46,492 INFO L272 TraceCheckUtils]: 56: Hoare triple {23869#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)); {23869#true} is VALID [2022-04-08 12:31:46,492 INFO L290 TraceCheckUtils]: 57: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,492 INFO L290 TraceCheckUtils]: 58: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,492 INFO L290 TraceCheckUtils]: 59: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,493 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {23869#true} {23869#true} #97#return; {23869#true} is VALID [2022-04-08 12:31:46,493 INFO L290 TraceCheckUtils]: 61: Hoare triple {23869#true} assume !(~c~0 >= ~b~0); {23869#true} is VALID [2022-04-08 12:31:46,493 INFO L290 TraceCheckUtils]: 62: Hoare triple {23869#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; {23869#true} is VALID [2022-04-08 12:31:46,493 INFO L290 TraceCheckUtils]: 63: Hoare triple {23869#true} assume !false; {23869#true} is VALID [2022-04-08 12:31:46,493 INFO L290 TraceCheckUtils]: 64: Hoare triple {23869#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23869#true} is VALID [2022-04-08 12:31:46,493 INFO L290 TraceCheckUtils]: 65: Hoare triple {23869#true} assume !false; {23869#true} is VALID [2022-04-08 12:31:46,493 INFO L272 TraceCheckUtils]: 66: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,493 INFO L290 TraceCheckUtils]: 67: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,493 INFO L290 TraceCheckUtils]: 68: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,493 INFO L290 TraceCheckUtils]: 69: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,493 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {23869#true} {23869#true} #91#return; {23869#true} is VALID [2022-04-08 12:31:46,494 INFO L272 TraceCheckUtils]: 71: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,494 INFO L290 TraceCheckUtils]: 72: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,494 INFO L290 TraceCheckUtils]: 73: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,494 INFO L290 TraceCheckUtils]: 74: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,494 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {23869#true} {23869#true} #93#return; {23869#true} is VALID [2022-04-08 12:31:46,494 INFO L272 TraceCheckUtils]: 76: Hoare triple {23869#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,494 INFO L290 TraceCheckUtils]: 77: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,494 INFO L290 TraceCheckUtils]: 78: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,494 INFO L290 TraceCheckUtils]: 79: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,494 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23869#true} {23869#true} #95#return; {23869#true} is VALID [2022-04-08 12:31:46,494 INFO L272 TraceCheckUtils]: 81: Hoare triple {23869#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)); {23869#true} is VALID [2022-04-08 12:31:46,495 INFO L290 TraceCheckUtils]: 82: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,495 INFO L290 TraceCheckUtils]: 83: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,495 INFO L290 TraceCheckUtils]: 84: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,495 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {23869#true} {23869#true} #97#return; {23869#true} is VALID [2022-04-08 12:31:46,495 INFO L290 TraceCheckUtils]: 86: Hoare triple {23869#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {23869#true} is VALID [2022-04-08 12:31:46,495 INFO L290 TraceCheckUtils]: 87: Hoare triple {23869#true} assume !false; {23869#true} is VALID [2022-04-08 12:31:46,495 INFO L272 TraceCheckUtils]: 88: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,495 INFO L290 TraceCheckUtils]: 89: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,495 INFO L290 TraceCheckUtils]: 90: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,495 INFO L290 TraceCheckUtils]: 91: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,496 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {23869#true} {23869#true} #91#return; {23869#true} is VALID [2022-04-08 12:31:46,496 INFO L272 TraceCheckUtils]: 93: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,496 INFO L290 TraceCheckUtils]: 94: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,496 INFO L290 TraceCheckUtils]: 95: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,496 INFO L290 TraceCheckUtils]: 96: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,496 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {23869#true} {23869#true} #93#return; {23869#true} is VALID [2022-04-08 12:31:46,496 INFO L272 TraceCheckUtils]: 98: Hoare triple {23869#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,496 INFO L290 TraceCheckUtils]: 99: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,496 INFO L290 TraceCheckUtils]: 100: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,496 INFO L290 TraceCheckUtils]: 101: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,496 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {23869#true} {23869#true} #95#return; {23869#true} is VALID [2022-04-08 12:31:46,497 INFO L272 TraceCheckUtils]: 103: Hoare triple {23869#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)); {23869#true} is VALID [2022-04-08 12:31:46,497 INFO L290 TraceCheckUtils]: 104: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,497 INFO L290 TraceCheckUtils]: 105: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,497 INFO L290 TraceCheckUtils]: 106: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,497 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {23869#true} {23869#true} #97#return; {23869#true} is VALID [2022-04-08 12:31:46,497 INFO L290 TraceCheckUtils]: 108: Hoare triple {23869#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {23869#true} is VALID [2022-04-08 12:31:46,497 INFO L290 TraceCheckUtils]: 109: Hoare triple {23869#true} assume !false; {23869#true} is VALID [2022-04-08 12:31:46,497 INFO L272 TraceCheckUtils]: 110: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,497 INFO L290 TraceCheckUtils]: 111: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,497 INFO L290 TraceCheckUtils]: 112: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,497 INFO L290 TraceCheckUtils]: 113: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,498 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {23869#true} {23869#true} #91#return; {23869#true} is VALID [2022-04-08 12:31:46,498 INFO L272 TraceCheckUtils]: 115: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,498 INFO L290 TraceCheckUtils]: 116: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,498 INFO L290 TraceCheckUtils]: 117: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,498 INFO L290 TraceCheckUtils]: 118: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,498 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {23869#true} {23869#true} #93#return; {23869#true} is VALID [2022-04-08 12:31:46,498 INFO L272 TraceCheckUtils]: 120: Hoare triple {23869#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:31:46,499 INFO L290 TraceCheckUtils]: 121: Hoare triple {23869#true} ~cond := #in~cond; {24237#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:31:46,500 INFO L290 TraceCheckUtils]: 122: Hoare triple {24237#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24241#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:31:46,500 INFO L290 TraceCheckUtils]: 123: Hoare triple {24241#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24241#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:31:46,501 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {24241#(not (= |__VERIFIER_assert_#in~cond| 0))} {23869#true} #95#return; {24248#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:31:46,501 INFO L272 TraceCheckUtils]: 125: Hoare triple {24248#(= 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)); {23869#true} is VALID [2022-04-08 12:31:46,501 INFO L290 TraceCheckUtils]: 126: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,501 INFO L290 TraceCheckUtils]: 127: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,501 INFO L290 TraceCheckUtils]: 128: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,502 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {23869#true} {24248#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #97#return; {24248#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:31:46,502 INFO L290 TraceCheckUtils]: 130: Hoare triple {24248#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {24248#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:31:46,503 INFO L290 TraceCheckUtils]: 131: Hoare triple {24248#(= 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; {24270#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:31:46,503 INFO L290 TraceCheckUtils]: 132: Hoare triple {24270#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {24270#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:31:46,504 INFO L290 TraceCheckUtils]: 133: Hoare triple {24270#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {24270#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:31:46,504 INFO L272 TraceCheckUtils]: 134: Hoare triple {24270#(= 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)); {23869#true} is VALID [2022-04-08 12:31:46,504 INFO L290 TraceCheckUtils]: 135: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:31:46,504 INFO L290 TraceCheckUtils]: 136: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:31:46,504 INFO L290 TraceCheckUtils]: 137: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:31:46,505 INFO L284 TraceCheckUtils]: 138: Hoare quadruple {23869#true} {24270#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #99#return; {24270#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:31:46,506 INFO L272 TraceCheckUtils]: 139: Hoare triple {24270#(= 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)); {24295#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:31:46,506 INFO L290 TraceCheckUtils]: 140: Hoare triple {24295#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24299#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:31:46,506 INFO L290 TraceCheckUtils]: 141: Hoare triple {24299#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23870#false} is VALID [2022-04-08 12:31:46,506 INFO L290 TraceCheckUtils]: 142: Hoare triple {23870#false} assume !false; {23870#false} is VALID [2022-04-08 12:31:46,507 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-08 12:31:46,507 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:32:00,093 INFO L290 TraceCheckUtils]: 142: Hoare triple {23870#false} assume !false; {23870#false} is VALID [2022-04-08 12:32:00,093 INFO L290 TraceCheckUtils]: 141: Hoare triple {24299#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23870#false} is VALID [2022-04-08 12:32:00,094 INFO L290 TraceCheckUtils]: 140: Hoare triple {24295#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24299#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:32:00,094 INFO L272 TraceCheckUtils]: 139: Hoare triple {24270#(= 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)); {24295#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 12:32:00,095 INFO L284 TraceCheckUtils]: 138: Hoare quadruple {23869#true} {24270#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #99#return; {24270#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:32:00,095 INFO L290 TraceCheckUtils]: 137: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,095 INFO L290 TraceCheckUtils]: 136: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,095 INFO L290 TraceCheckUtils]: 135: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,095 INFO L272 TraceCheckUtils]: 134: Hoare triple {24270#(= 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)); {23869#true} is VALID [2022-04-08 12:32:00,096 INFO L290 TraceCheckUtils]: 133: Hoare triple {24270#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(0 != ~b~0); {24270#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:32:00,096 INFO L290 TraceCheckUtils]: 132: Hoare triple {24270#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {24270#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:32:00,096 INFO L290 TraceCheckUtils]: 131: Hoare triple {24248#(= 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; {24270#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 12:32:00,097 INFO L290 TraceCheckUtils]: 130: Hoare triple {24248#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !(~c~0 >= ~b~0); {24248#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:32:00,097 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {23869#true} {24248#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #97#return; {24248#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:32:00,097 INFO L290 TraceCheckUtils]: 128: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,098 INFO L290 TraceCheckUtils]: 127: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,098 INFO L290 TraceCheckUtils]: 126: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,098 INFO L272 TraceCheckUtils]: 125: Hoare triple {24248#(= 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)); {23869#true} is VALID [2022-04-08 12:32:00,098 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {24241#(not (= |__VERIFIER_assert_#in~cond| 0))} {23869#true} #95#return; {24248#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 12:32:00,099 INFO L290 TraceCheckUtils]: 123: Hoare triple {24241#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24241#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:32:00,099 INFO L290 TraceCheckUtils]: 122: Hoare triple {24369#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {24241#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:32:00,099 INFO L290 TraceCheckUtils]: 121: Hoare triple {23869#true} ~cond := #in~cond; {24369#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 12:32:00,099 INFO L272 TraceCheckUtils]: 120: Hoare triple {23869#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,099 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {23869#true} {23869#true} #93#return; {23869#true} is VALID [2022-04-08 12:32:00,100 INFO L290 TraceCheckUtils]: 118: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,100 INFO L290 TraceCheckUtils]: 117: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,100 INFO L290 TraceCheckUtils]: 116: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,100 INFO L272 TraceCheckUtils]: 115: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,100 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {23869#true} {23869#true} #91#return; {23869#true} is VALID [2022-04-08 12:32:00,100 INFO L290 TraceCheckUtils]: 113: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,100 INFO L290 TraceCheckUtils]: 112: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,100 INFO L290 TraceCheckUtils]: 111: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,100 INFO L272 TraceCheckUtils]: 110: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,100 INFO L290 TraceCheckUtils]: 109: Hoare triple {23869#true} assume !false; {23869#true} is VALID [2022-04-08 12:32:00,101 INFO L290 TraceCheckUtils]: 108: Hoare triple {23869#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {23869#true} is VALID [2022-04-08 12:32:00,101 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {23869#true} {23869#true} #97#return; {23869#true} is VALID [2022-04-08 12:32:00,101 INFO L290 TraceCheckUtils]: 106: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,101 INFO L290 TraceCheckUtils]: 105: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,101 INFO L290 TraceCheckUtils]: 104: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,101 INFO L272 TraceCheckUtils]: 103: Hoare triple {23869#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)); {23869#true} is VALID [2022-04-08 12:32:00,101 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {23869#true} {23869#true} #95#return; {23869#true} is VALID [2022-04-08 12:32:00,101 INFO L290 TraceCheckUtils]: 101: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,101 INFO L290 TraceCheckUtils]: 100: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,101 INFO L290 TraceCheckUtils]: 99: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,101 INFO L272 TraceCheckUtils]: 98: Hoare triple {23869#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,102 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {23869#true} {23869#true} #93#return; {23869#true} is VALID [2022-04-08 12:32:00,102 INFO L290 TraceCheckUtils]: 96: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,102 INFO L290 TraceCheckUtils]: 95: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,102 INFO L290 TraceCheckUtils]: 94: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,102 INFO L272 TraceCheckUtils]: 93: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,102 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {23869#true} {23869#true} #91#return; {23869#true} is VALID [2022-04-08 12:32:00,102 INFO L290 TraceCheckUtils]: 91: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,102 INFO L290 TraceCheckUtils]: 90: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,102 INFO L290 TraceCheckUtils]: 89: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,102 INFO L272 TraceCheckUtils]: 88: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,102 INFO L290 TraceCheckUtils]: 87: Hoare triple {23869#true} assume !false; {23869#true} is VALID [2022-04-08 12:32:00,103 INFO L290 TraceCheckUtils]: 86: Hoare triple {23869#true} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {23869#true} is VALID [2022-04-08 12:32:00,103 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {23869#true} {23869#true} #97#return; {23869#true} is VALID [2022-04-08 12:32:00,103 INFO L290 TraceCheckUtils]: 84: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,103 INFO L290 TraceCheckUtils]: 83: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,103 INFO L290 TraceCheckUtils]: 82: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,103 INFO L272 TraceCheckUtils]: 81: Hoare triple {23869#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)); {23869#true} is VALID [2022-04-08 12:32:00,103 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23869#true} {23869#true} #95#return; {23869#true} is VALID [2022-04-08 12:32:00,103 INFO L290 TraceCheckUtils]: 79: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,103 INFO L290 TraceCheckUtils]: 78: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,103 INFO L290 TraceCheckUtils]: 77: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,103 INFO L272 TraceCheckUtils]: 76: Hoare triple {23869#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,104 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {23869#true} {23869#true} #93#return; {23869#true} is VALID [2022-04-08 12:32:00,104 INFO L290 TraceCheckUtils]: 74: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,104 INFO L290 TraceCheckUtils]: 73: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,104 INFO L290 TraceCheckUtils]: 72: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,104 INFO L272 TraceCheckUtils]: 71: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,104 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {23869#true} {23869#true} #91#return; {23869#true} is VALID [2022-04-08 12:32:00,104 INFO L290 TraceCheckUtils]: 69: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,104 INFO L290 TraceCheckUtils]: 68: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,104 INFO L290 TraceCheckUtils]: 67: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,104 INFO L272 TraceCheckUtils]: 66: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,104 INFO L290 TraceCheckUtils]: 65: Hoare triple {23869#true} assume !false; {23869#true} is VALID [2022-04-08 12:32:00,105 INFO L290 TraceCheckUtils]: 64: Hoare triple {23869#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23869#true} is VALID [2022-04-08 12:32:00,105 INFO L290 TraceCheckUtils]: 63: Hoare triple {23869#true} assume !false; {23869#true} is VALID [2022-04-08 12:32:00,105 INFO L290 TraceCheckUtils]: 62: Hoare triple {23869#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; {23869#true} is VALID [2022-04-08 12:32:00,105 INFO L290 TraceCheckUtils]: 61: Hoare triple {23869#true} assume !(~c~0 >= ~b~0); {23869#true} is VALID [2022-04-08 12:32:00,105 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {23869#true} {23869#true} #97#return; {23869#true} is VALID [2022-04-08 12:32:00,105 INFO L290 TraceCheckUtils]: 59: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,105 INFO L290 TraceCheckUtils]: 58: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,105 INFO L290 TraceCheckUtils]: 57: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,105 INFO L272 TraceCheckUtils]: 56: Hoare triple {23869#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)); {23869#true} is VALID [2022-04-08 12:32:00,105 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {23869#true} {23869#true} #95#return; {23869#true} is VALID [2022-04-08 12:32:00,105 INFO L290 TraceCheckUtils]: 54: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,106 INFO L290 TraceCheckUtils]: 53: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,106 INFO L290 TraceCheckUtils]: 52: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,106 INFO L272 TraceCheckUtils]: 51: Hoare triple {23869#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,106 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {23869#true} {23869#true} #93#return; {23869#true} is VALID [2022-04-08 12:32:00,106 INFO L290 TraceCheckUtils]: 49: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,106 INFO L290 TraceCheckUtils]: 48: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,106 INFO L290 TraceCheckUtils]: 47: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,106 INFO L272 TraceCheckUtils]: 46: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,106 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {23869#true} {23869#true} #91#return; {23869#true} is VALID [2022-04-08 12:32:00,106 INFO L290 TraceCheckUtils]: 44: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,106 INFO L290 TraceCheckUtils]: 43: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,107 INFO L290 TraceCheckUtils]: 42: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,107 INFO L272 TraceCheckUtils]: 41: Hoare triple {23869#true} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,107 INFO L290 TraceCheckUtils]: 40: Hoare triple {23869#true} assume !false; {23869#true} is VALID [2022-04-08 12:32:00,107 INFO L290 TraceCheckUtils]: 39: Hoare triple {23869#true} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {23869#true} is VALID [2022-04-08 12:32:00,107 INFO L290 TraceCheckUtils]: 38: Hoare triple {23869#true} assume !false; {23869#true} is VALID [2022-04-08 12:32:00,107 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {23869#true} {23869#true} #89#return; {23869#true} is VALID [2022-04-08 12:32:00,107 INFO L290 TraceCheckUtils]: 36: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,107 INFO L290 TraceCheckUtils]: 35: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,107 INFO L290 TraceCheckUtils]: 34: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,107 INFO L272 TraceCheckUtils]: 33: Hoare triple {23869#true} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,107 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {23869#true} {23869#true} #87#return; {23869#true} is VALID [2022-04-08 12:32:00,108 INFO L290 TraceCheckUtils]: 31: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,108 INFO L290 TraceCheckUtils]: 30: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,108 INFO L290 TraceCheckUtils]: 29: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,108 INFO L272 TraceCheckUtils]: 28: Hoare triple {23869#true} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,108 INFO L290 TraceCheckUtils]: 27: Hoare triple {23869#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; {23869#true} is VALID [2022-04-08 12:32:00,108 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {23869#true} {23869#true} #85#return; {23869#true} is VALID [2022-04-08 12:32:00,108 INFO L290 TraceCheckUtils]: 25: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,108 INFO L290 TraceCheckUtils]: 24: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,108 INFO L290 TraceCheckUtils]: 23: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,108 INFO L272 TraceCheckUtils]: 22: Hoare triple {23869#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,108 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {23869#true} {23869#true} #83#return; {23869#true} is VALID [2022-04-08 12:32:00,109 INFO L290 TraceCheckUtils]: 20: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,109 INFO L290 TraceCheckUtils]: 19: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,109 INFO L290 TraceCheckUtils]: 18: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,109 INFO L272 TraceCheckUtils]: 17: Hoare triple {23869#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,109 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {23869#true} {23869#true} #81#return; {23869#true} is VALID [2022-04-08 12:32:00,109 INFO L290 TraceCheckUtils]: 15: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,109 INFO L290 TraceCheckUtils]: 14: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,109 INFO L290 TraceCheckUtils]: 13: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,109 INFO L272 TraceCheckUtils]: 12: Hoare triple {23869#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,109 INFO L290 TraceCheckUtils]: 11: Hoare triple {23869#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23869#true} is VALID [2022-04-08 12:32:00,109 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23869#true} {23869#true} #79#return; {23869#true} is VALID [2022-04-08 12:32:00,110 INFO L290 TraceCheckUtils]: 9: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,110 INFO L290 TraceCheckUtils]: 8: Hoare triple {23869#true} assume !(0 == ~cond); {23869#true} is VALID [2022-04-08 12:32:00,110 INFO L290 TraceCheckUtils]: 7: Hoare triple {23869#true} ~cond := #in~cond; {23869#true} is VALID [2022-04-08 12:32:00,110 INFO L272 TraceCheckUtils]: 6: Hoare triple {23869#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {23869#true} is VALID [2022-04-08 12:32:00,110 INFO L290 TraceCheckUtils]: 5: Hoare triple {23869#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; {23869#true} is VALID [2022-04-08 12:32:00,110 INFO L272 TraceCheckUtils]: 4: Hoare triple {23869#true} call #t~ret6 := main(); {23869#true} is VALID [2022-04-08 12:32:00,110 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23869#true} {23869#true} #103#return; {23869#true} is VALID [2022-04-08 12:32:00,110 INFO L290 TraceCheckUtils]: 2: Hoare triple {23869#true} assume true; {23869#true} is VALID [2022-04-08 12:32:00,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {23869#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); {23869#true} is VALID [2022-04-08 12:32:00,110 INFO L272 TraceCheckUtils]: 0: Hoare triple {23869#true} call ULTIMATE.init(); {23869#true} is VALID [2022-04-08 12:32:00,111 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-08 12:32:00,111 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:32:00,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [571020204] [2022-04-08 12:32:00,111 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:32:00,111 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1236914082] [2022-04-08 12:32:00,111 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1236914082] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:32:00,111 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:32:00,111 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 12:32:00,112 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:32:00,112 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [789795439] [2022-04-08 12:32:00,112 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [789795439] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:32:00,112 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:32:00,113 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 12:32:00,113 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [617100616] [2022-04-08 12:32:00,113 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:32:00,114 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-08 12:32:00,114 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:32:00,114 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-08 12:32:00,152 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-08 12:32:00,152 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 12:32:00,152 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:32:00,152 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 12:32:00,153 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 12:32:00,153 INFO L87 Difference]: Start difference. First operand 161 states and 208 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-08 12:32:01,296 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:32:01,296 INFO L93 Difference]: Finished difference Result 167 states and 213 transitions. [2022-04-08 12:32:01,296 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 12:32:01,296 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-08 12:32:01,297 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:32:01,297 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-08 12:32:01,298 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-08 12:32:01,298 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-08 12:32:01,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-08 12:32:01,299 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 60 transitions. [2022-04-08 12:32:01,363 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-08 12:32:01,366 INFO L225 Difference]: With dead ends: 167 [2022-04-08 12:32:01,366 INFO L226 Difference]: Without dead ends: 159 [2022-04-08 12:32:01,366 INFO L912 BasicCegarLoop]: 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-08 12:32:01,366 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 19 mSDsluCounter, 147 mSDsCounter, 0 mSdLazyCounter, 130 mSolverCounterSat, 16 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 22 SdHoareTripleChecker+Valid, 183 SdHoareTripleChecker+Invalid, 146 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 16 IncrementalHoareTripleChecker+Valid, 130 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 12:32:01,366 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [22 Valid, 183 Invalid, 146 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [16 Valid, 130 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 12:32:01,367 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2022-04-08 12:32:01,923 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 159. [2022-04-08 12:32:01,923 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:32:01,923 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand has 159 states, 86 states have (on average 1.058139534883721) internal successors, (91), 87 states have internal predecessors, (91), 57 states have call successors, (57), 16 states have call predecessors, (57), 15 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 12:32:01,923 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand has 159 states, 86 states have (on average 1.058139534883721) internal successors, (91), 87 states have internal predecessors, (91), 57 states have call successors, (57), 16 states have call predecessors, (57), 15 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 12:32:01,924 INFO L87 Difference]: Start difference. First operand 159 states. Second operand has 159 states, 86 states have (on average 1.058139534883721) internal successors, (91), 87 states have internal predecessors, (91), 57 states have call successors, (57), 16 states have call predecessors, (57), 15 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 12:32:01,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:32:01,927 INFO L93 Difference]: Finished difference Result 159 states and 203 transitions. [2022-04-08 12:32:01,927 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 203 transitions. [2022-04-08 12:32:01,927 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:32:01,927 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:32:01,927 INFO L74 IsIncluded]: Start isIncluded. First operand has 159 states, 86 states have (on average 1.058139534883721) internal successors, (91), 87 states have internal predecessors, (91), 57 states have call successors, (57), 16 states have call predecessors, (57), 15 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) Second operand 159 states. [2022-04-08 12:32:01,928 INFO L87 Difference]: Start difference. First operand has 159 states, 86 states have (on average 1.058139534883721) internal successors, (91), 87 states have internal predecessors, (91), 57 states have call successors, (57), 16 states have call predecessors, (57), 15 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) Second operand 159 states. [2022-04-08 12:32:01,942 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:32:01,942 INFO L93 Difference]: Finished difference Result 159 states and 203 transitions. [2022-04-08 12:32:01,942 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 203 transitions. [2022-04-08 12:32:01,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:32:01,943 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:32:01,943 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:32:01,943 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:32:01,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 159 states, 86 states have (on average 1.058139534883721) internal successors, (91), 87 states have internal predecessors, (91), 57 states have call successors, (57), 16 states have call predecessors, (57), 15 states have return successors, (55), 55 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 12:32:01,946 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 159 states to 159 states and 203 transitions. [2022-04-08 12:32:01,947 INFO L78 Accepts]: Start accepts. Automaton has 159 states and 203 transitions. Word has length 143 [2022-04-08 12:32:01,947 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:32:01,947 INFO L478 AbstractCegarLoop]: Abstraction has 159 states and 203 transitions. [2022-04-08 12:32:01,947 INFO L479 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-08 12:32:01,947 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 159 states and 203 transitions. [2022-04-08 12:32:02,417 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 203 edges. 203 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 12:32:02,417 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 203 transitions. [2022-04-08 12:32:02,418 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 150 [2022-04-08 12:32:02,418 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:32:02,418 INFO L499 BasicCegarLoop]: 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-08 12:32:02,434 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Ended with exit code 0 [2022-04-08 12:32:02,631 WARN L460 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-08 12:32:02,631 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:32:02,632 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:32:02,632 INFO L85 PathProgramCache]: Analyzing trace with hash -1351165176, now seen corresponding path program 7 times [2022-04-08 12:32:02,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:32:02,632 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1867844649] [2022-04-08 12:32:02,632 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:32:02,632 INFO L85 PathProgramCache]: Analyzing trace with hash -1351165176, now seen corresponding path program 8 times [2022-04-08 12:32:02,632 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:32:02,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2135087279] [2022-04-08 12:32:02,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:32:02,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:32:02,642 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:32:02,642 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [168034318] [2022-04-08 12:32:02,642 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 12:32:02,642 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:32:02,643 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:32:02,643 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-08 12:32:02,644 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-08 12:32:02,715 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 12:32:02,715 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:32:02,716 INFO L263 TraceCheckSpWp]: Trace formula consists of 355 conjuncts, 16 conjunts are in the unsatisfiable core [2022-04-08 12:32:02,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:32:02,738 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:32:08,947 INFO L272 TraceCheckUtils]: 0: Hoare triple {25711#true} call ULTIMATE.init(); {25711#true} is VALID [2022-04-08 12:32:08,948 INFO L290 TraceCheckUtils]: 1: Hoare triple {25711#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); {25711#true} is VALID [2022-04-08 12:32:08,948 INFO L290 TraceCheckUtils]: 2: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,948 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25711#true} {25711#true} #103#return; {25711#true} is VALID [2022-04-08 12:32:08,948 INFO L272 TraceCheckUtils]: 4: Hoare triple {25711#true} call #t~ret6 := main(); {25711#true} is VALID [2022-04-08 12:32:08,948 INFO L290 TraceCheckUtils]: 5: Hoare triple {25711#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; {25711#true} is VALID [2022-04-08 12:32:08,948 INFO L272 TraceCheckUtils]: 6: Hoare triple {25711#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:08,948 INFO L290 TraceCheckUtils]: 7: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,948 INFO L290 TraceCheckUtils]: 8: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,948 INFO L290 TraceCheckUtils]: 9: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,948 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25711#true} {25711#true} #79#return; {25711#true} is VALID [2022-04-08 12:32:08,949 INFO L290 TraceCheckUtils]: 11: Hoare triple {25711#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25711#true} is VALID [2022-04-08 12:32:08,949 INFO L272 TraceCheckUtils]: 12: Hoare triple {25711#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:08,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {25711#true} ~cond := #in~cond; {25755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:32:08,949 INFO L290 TraceCheckUtils]: 14: Hoare triple {25755#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {25759#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:32:08,950 INFO L290 TraceCheckUtils]: 15: Hoare triple {25759#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {25759#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:32:08,950 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {25759#(not (= |assume_abort_if_not_#in~cond| 0))} {25711#true} #81#return; {25766#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-08 12:32:08,950 INFO L272 TraceCheckUtils]: 17: Hoare triple {25766#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:08,950 INFO L290 TraceCheckUtils]: 18: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,950 INFO L290 TraceCheckUtils]: 19: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,950 INFO L290 TraceCheckUtils]: 20: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,951 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25711#true} {25766#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #83#return; {25766#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-08 12:32:08,951 INFO L272 TraceCheckUtils]: 22: Hoare triple {25766#(and (<= 0 main_~y~0) (<= main_~y~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:08,951 INFO L290 TraceCheckUtils]: 23: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,951 INFO L290 TraceCheckUtils]: 24: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,951 INFO L290 TraceCheckUtils]: 25: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,952 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {25711#true} {25766#(and (<= 0 main_~y~0) (<= main_~y~0 2))} #85#return; {25766#(and (<= 0 main_~y~0) (<= main_~y~0 2))} is VALID [2022-04-08 12:32:08,952 INFO L290 TraceCheckUtils]: 27: Hoare triple {25766#(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; {25800#(<= main_~b~0 2)} is VALID [2022-04-08 12:32:08,952 INFO L272 TraceCheckUtils]: 28: Hoare triple {25800#(<= main_~b~0 2)} call assume_abort_if_not((if ~xy~0 < 2147483647 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:08,952 INFO L290 TraceCheckUtils]: 29: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,952 INFO L290 TraceCheckUtils]: 30: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,952 INFO L290 TraceCheckUtils]: 31: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,953 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {25711#true} {25800#(<= main_~b~0 2)} #87#return; {25800#(<= main_~b~0 2)} is VALID [2022-04-08 12:32:08,953 INFO L272 TraceCheckUtils]: 33: Hoare triple {25800#(<= main_~b~0 2)} call assume_abort_if_not((if ~yy~0 < 2147483647 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:08,953 INFO L290 TraceCheckUtils]: 34: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,953 INFO L290 TraceCheckUtils]: 35: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,953 INFO L290 TraceCheckUtils]: 36: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,953 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25711#true} {25800#(<= main_~b~0 2)} #89#return; {25800#(<= main_~b~0 2)} is VALID [2022-04-08 12:32:08,954 INFO L290 TraceCheckUtils]: 38: Hoare triple {25800#(<= main_~b~0 2)} assume !false; {25800#(<= main_~b~0 2)} is VALID [2022-04-08 12:32:08,954 INFO L290 TraceCheckUtils]: 39: Hoare triple {25800#(<= main_~b~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {25800#(<= main_~b~0 2)} is VALID [2022-04-08 12:32:08,954 INFO L290 TraceCheckUtils]: 40: Hoare triple {25800#(<= main_~b~0 2)} assume !false; {25800#(<= main_~b~0 2)} is VALID [2022-04-08 12:32:08,954 INFO L272 TraceCheckUtils]: 41: Hoare triple {25800#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:08,955 INFO L290 TraceCheckUtils]: 42: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,955 INFO L290 TraceCheckUtils]: 43: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,955 INFO L290 TraceCheckUtils]: 44: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,955 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {25711#true} {25800#(<= main_~b~0 2)} #91#return; {25800#(<= main_~b~0 2)} is VALID [2022-04-08 12:32:08,955 INFO L272 TraceCheckUtils]: 46: Hoare triple {25800#(<= main_~b~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:08,955 INFO L290 TraceCheckUtils]: 47: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,955 INFO L290 TraceCheckUtils]: 48: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,956 INFO L290 TraceCheckUtils]: 49: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,956 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {25711#true} {25800#(<= main_~b~0 2)} #93#return; {25800#(<= main_~b~0 2)} is VALID [2022-04-08 12:32:08,956 INFO L272 TraceCheckUtils]: 51: Hoare triple {25800#(<= main_~b~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:08,956 INFO L290 TraceCheckUtils]: 52: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,956 INFO L290 TraceCheckUtils]: 53: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,956 INFO L290 TraceCheckUtils]: 54: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,963 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {25711#true} {25800#(<= main_~b~0 2)} #95#return; {25800#(<= main_~b~0 2)} is VALID [2022-04-08 12:32:08,963 INFO L272 TraceCheckUtils]: 56: Hoare triple {25800#(<= 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)); {25711#true} is VALID [2022-04-08 12:32:08,963 INFO L290 TraceCheckUtils]: 57: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,964 INFO L290 TraceCheckUtils]: 58: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,964 INFO L290 TraceCheckUtils]: 59: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,964 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {25711#true} {25800#(<= main_~b~0 2)} #97#return; {25800#(<= main_~b~0 2)} is VALID [2022-04-08 12:32:08,964 INFO L290 TraceCheckUtils]: 61: Hoare triple {25800#(<= main_~b~0 2)} assume !(~c~0 >= ~b~0); {25800#(<= main_~b~0 2)} is VALID [2022-04-08 12:32:08,965 INFO L290 TraceCheckUtils]: 62: Hoare triple {25800#(<= 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; {25906#(<= main_~a~0 2)} is VALID [2022-04-08 12:32:08,965 INFO L290 TraceCheckUtils]: 63: Hoare triple {25906#(<= main_~a~0 2)} assume !false; {25906#(<= main_~a~0 2)} is VALID [2022-04-08 12:32:08,966 INFO L290 TraceCheckUtils]: 64: Hoare triple {25906#(<= main_~a~0 2)} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {25913#(<= main_~c~0 2)} is VALID [2022-04-08 12:32:08,966 INFO L290 TraceCheckUtils]: 65: Hoare triple {25913#(<= main_~c~0 2)} assume !false; {25913#(<= main_~c~0 2)} is VALID [2022-04-08 12:32:08,966 INFO L272 TraceCheckUtils]: 66: Hoare triple {25913#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:08,966 INFO L290 TraceCheckUtils]: 67: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,966 INFO L290 TraceCheckUtils]: 68: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,966 INFO L290 TraceCheckUtils]: 69: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,967 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {25711#true} {25913#(<= main_~c~0 2)} #91#return; {25913#(<= main_~c~0 2)} is VALID [2022-04-08 12:32:08,967 INFO L272 TraceCheckUtils]: 71: Hoare triple {25913#(<= main_~c~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:08,967 INFO L290 TraceCheckUtils]: 72: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,967 INFO L290 TraceCheckUtils]: 73: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,967 INFO L290 TraceCheckUtils]: 74: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,968 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {25711#true} {25913#(<= main_~c~0 2)} #93#return; {25913#(<= main_~c~0 2)} is VALID [2022-04-08 12:32:08,968 INFO L272 TraceCheckUtils]: 76: Hoare triple {25913#(<= main_~c~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:08,968 INFO L290 TraceCheckUtils]: 77: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,968 INFO L290 TraceCheckUtils]: 78: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,968 INFO L290 TraceCheckUtils]: 79: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,968 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {25711#true} {25913#(<= main_~c~0 2)} #95#return; {25913#(<= main_~c~0 2)} is VALID [2022-04-08 12:32:08,969 INFO L272 TraceCheckUtils]: 81: Hoare triple {25913#(<= 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)); {25711#true} is VALID [2022-04-08 12:32:08,969 INFO L290 TraceCheckUtils]: 82: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,969 INFO L290 TraceCheckUtils]: 83: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,969 INFO L290 TraceCheckUtils]: 84: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,969 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {25711#true} {25913#(<= main_~c~0 2)} #97#return; {25913#(<= main_~c~0 2)} is VALID [2022-04-08 12:32:08,970 INFO L290 TraceCheckUtils]: 86: Hoare triple {25913#(<= main_~c~0 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {25980#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-08 12:32:08,971 INFO L290 TraceCheckUtils]: 87: Hoare triple {25980#(<= (+ main_~c~0 main_~b~0) 2)} assume !false; {25980#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-08 12:32:08,971 INFO L272 TraceCheckUtils]: 88: Hoare triple {25980#(<= (+ main_~c~0 main_~b~0) 2)} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:08,971 INFO L290 TraceCheckUtils]: 89: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,971 INFO L290 TraceCheckUtils]: 90: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,971 INFO L290 TraceCheckUtils]: 91: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,972 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {25711#true} {25980#(<= (+ main_~c~0 main_~b~0) 2)} #91#return; {25980#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-08 12:32:08,972 INFO L272 TraceCheckUtils]: 93: Hoare triple {25980#(<= (+ 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)); {25711#true} is VALID [2022-04-08 12:32:08,972 INFO L290 TraceCheckUtils]: 94: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,972 INFO L290 TraceCheckUtils]: 95: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,972 INFO L290 TraceCheckUtils]: 96: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,972 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {25711#true} {25980#(<= (+ main_~c~0 main_~b~0) 2)} #93#return; {25980#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-08 12:32:08,973 INFO L272 TraceCheckUtils]: 98: Hoare triple {25980#(<= (+ 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)); {25711#true} is VALID [2022-04-08 12:32:08,973 INFO L290 TraceCheckUtils]: 99: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,973 INFO L290 TraceCheckUtils]: 100: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,973 INFO L290 TraceCheckUtils]: 101: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,973 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {25711#true} {25980#(<= (+ main_~c~0 main_~b~0) 2)} #95#return; {25980#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-08 12:32:08,973 INFO L272 TraceCheckUtils]: 103: Hoare triple {25980#(<= (+ 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)); {25711#true} is VALID [2022-04-08 12:32:08,974 INFO L290 TraceCheckUtils]: 104: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,974 INFO L290 TraceCheckUtils]: 105: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,974 INFO L290 TraceCheckUtils]: 106: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,974 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {25711#true} {25980#(<= (+ main_~c~0 main_~b~0) 2)} #97#return; {25980#(<= (+ main_~c~0 main_~b~0) 2)} is VALID [2022-04-08 12:32:08,976 INFO L290 TraceCheckUtils]: 108: Hoare triple {25980#(<= (+ main_~c~0 main_~b~0) 2)} assume !!(~c~0 >= ~b~0);~c~0 := ~c~0 - ~b~0;~k~0 := 1 + ~k~0; {26047#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-08 12:32:08,976 INFO L290 TraceCheckUtils]: 109: Hoare triple {26047#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} assume !false; {26047#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-08 12:32:08,976 INFO L272 TraceCheckUtils]: 110: Hoare triple {26047#(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)); {25711#true} is VALID [2022-04-08 12:32:08,976 INFO L290 TraceCheckUtils]: 111: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,976 INFO L290 TraceCheckUtils]: 112: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,976 INFO L290 TraceCheckUtils]: 113: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,977 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {25711#true} {26047#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} #91#return; {26047#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-08 12:32:08,977 INFO L272 TraceCheckUtils]: 115: Hoare triple {26047#(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)); {25711#true} is VALID [2022-04-08 12:32:08,977 INFO L290 TraceCheckUtils]: 116: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,977 INFO L290 TraceCheckUtils]: 117: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,977 INFO L290 TraceCheckUtils]: 118: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,987 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {25711#true} {26047#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} #93#return; {26047#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-08 12:32:08,987 INFO L272 TraceCheckUtils]: 120: Hoare triple {26047#(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)); {25711#true} is VALID [2022-04-08 12:32:08,988 INFO L290 TraceCheckUtils]: 121: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,988 INFO L290 TraceCheckUtils]: 122: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,988 INFO L290 TraceCheckUtils]: 123: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,988 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {25711#true} {26047#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} #95#return; {26047#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-08 12:32:08,988 INFO L272 TraceCheckUtils]: 125: Hoare triple {26047#(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)); {25711#true} is VALID [2022-04-08 12:32:08,988 INFO L290 TraceCheckUtils]: 126: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:08,989 INFO L290 TraceCheckUtils]: 127: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:08,989 INFO L290 TraceCheckUtils]: 128: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:08,989 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {25711#true} {26047#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} #97#return; {26047#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} is VALID [2022-04-08 12:32:08,990 INFO L290 TraceCheckUtils]: 130: Hoare triple {26047#(and (<= 0 main_~c~0) (<= (+ main_~c~0 (* main_~b~0 2)) 2))} assume !(~c~0 >= ~b~0); {26114#(and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0))} is VALID [2022-04-08 12:32:08,991 INFO L290 TraceCheckUtils]: 131: Hoare triple {26114#(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; {26118#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-08 12:32:08,991 INFO L290 TraceCheckUtils]: 132: Hoare triple {26118#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} assume !false; {26118#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-08 12:32:08,992 INFO L290 TraceCheckUtils]: 133: Hoare triple {26118#(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; {25712#false} is VALID [2022-04-08 12:32:08,992 INFO L290 TraceCheckUtils]: 134: Hoare triple {25712#false} assume !false; {25712#false} is VALID [2022-04-08 12:32:08,992 INFO L272 TraceCheckUtils]: 135: Hoare triple {25712#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25712#false} is VALID [2022-04-08 12:32:08,992 INFO L290 TraceCheckUtils]: 136: Hoare triple {25712#false} ~cond := #in~cond; {25712#false} is VALID [2022-04-08 12:32:08,993 INFO L290 TraceCheckUtils]: 137: Hoare triple {25712#false} assume !(0 == ~cond); {25712#false} is VALID [2022-04-08 12:32:08,993 INFO L290 TraceCheckUtils]: 138: Hoare triple {25712#false} assume true; {25712#false} is VALID [2022-04-08 12:32:08,993 INFO L284 TraceCheckUtils]: 139: Hoare quadruple {25712#false} {25712#false} #91#return; {25712#false} is VALID [2022-04-08 12:32:08,993 INFO L272 TraceCheckUtils]: 140: Hoare triple {25712#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25712#false} is VALID [2022-04-08 12:32:08,993 INFO L290 TraceCheckUtils]: 141: Hoare triple {25712#false} ~cond := #in~cond; {25712#false} is VALID [2022-04-08 12:32:08,993 INFO L290 TraceCheckUtils]: 142: Hoare triple {25712#false} assume !(0 == ~cond); {25712#false} is VALID [2022-04-08 12:32:08,993 INFO L290 TraceCheckUtils]: 143: Hoare triple {25712#false} assume true; {25712#false} is VALID [2022-04-08 12:32:08,993 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {25712#false} {25712#false} #93#return; {25712#false} is VALID [2022-04-08 12:32:08,993 INFO L272 TraceCheckUtils]: 145: Hoare triple {25712#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25712#false} is VALID [2022-04-08 12:32:08,993 INFO L290 TraceCheckUtils]: 146: Hoare triple {25712#false} ~cond := #in~cond; {25712#false} is VALID [2022-04-08 12:32:08,993 INFO L290 TraceCheckUtils]: 147: Hoare triple {25712#false} assume 0 == ~cond; {25712#false} is VALID [2022-04-08 12:32:08,994 INFO L290 TraceCheckUtils]: 148: Hoare triple {25712#false} assume !false; {25712#false} is VALID [2022-04-08 12:32:08,994 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-08 12:32:08,994 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 12:32:43,214 INFO L290 TraceCheckUtils]: 148: Hoare triple {25712#false} assume !false; {25712#false} is VALID [2022-04-08 12:32:43,215 INFO L290 TraceCheckUtils]: 147: Hoare triple {25712#false} assume 0 == ~cond; {25712#false} is VALID [2022-04-08 12:32:43,215 INFO L290 TraceCheckUtils]: 146: Hoare triple {25712#false} ~cond := #in~cond; {25712#false} is VALID [2022-04-08 12:32:43,215 INFO L272 TraceCheckUtils]: 145: Hoare triple {25712#false} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {25712#false} is VALID [2022-04-08 12:32:43,215 INFO L284 TraceCheckUtils]: 144: Hoare quadruple {25711#true} {25712#false} #93#return; {25712#false} is VALID [2022-04-08 12:32:43,215 INFO L290 TraceCheckUtils]: 143: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,215 INFO L290 TraceCheckUtils]: 142: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,215 INFO L290 TraceCheckUtils]: 141: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,215 INFO L272 TraceCheckUtils]: 140: Hoare triple {25712#false} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:43,215 INFO L284 TraceCheckUtils]: 139: Hoare quadruple {25711#true} {25712#false} #91#return; {25712#false} is VALID [2022-04-08 12:32:43,215 INFO L290 TraceCheckUtils]: 138: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,216 INFO L290 TraceCheckUtils]: 137: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,216 INFO L290 TraceCheckUtils]: 136: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,216 INFO L272 TraceCheckUtils]: 135: Hoare triple {25712#false} call __VERIFIER_assert((if ~a~0 == ~k~0 * ~b~0 + ~c~0 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:43,216 INFO L290 TraceCheckUtils]: 134: Hoare triple {25712#false} assume !false; {25712#false} is VALID [2022-04-08 12:32:43,217 INFO L290 TraceCheckUtils]: 133: Hoare triple {26118#(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; {25712#false} is VALID [2022-04-08 12:32:43,217 INFO L290 TraceCheckUtils]: 132: Hoare triple {26118#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} assume !false; {26118#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-08 12:32:43,217 INFO L290 TraceCheckUtils]: 131: Hoare triple {26114#(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; {26118#(and (< main_~b~0 (div (+ 2 (* (- 1) main_~b~0)) 2)) (<= 0 main_~b~0))} is VALID [2022-04-08 12:32:43,218 INFO L290 TraceCheckUtils]: 130: Hoare triple {26224#(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); {26114#(and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0))} is VALID [2022-04-08 12:32:43,219 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {25711#true} {26224#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #97#return; {26224#(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-08 12:32:43,219 INFO L290 TraceCheckUtils]: 128: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,219 INFO L290 TraceCheckUtils]: 127: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,219 INFO L290 TraceCheckUtils]: 126: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,219 INFO L272 TraceCheckUtils]: 125: Hoare triple {26224#(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)); {25711#true} is VALID [2022-04-08 12:32:43,219 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {25711#true} {26224#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #95#return; {26224#(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-08 12:32:43,220 INFO L290 TraceCheckUtils]: 123: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,220 INFO L290 TraceCheckUtils]: 122: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,220 INFO L290 TraceCheckUtils]: 121: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,220 INFO L272 TraceCheckUtils]: 120: Hoare triple {26224#(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)); {25711#true} is VALID [2022-04-08 12:32:43,223 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {25711#true} {26224#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #93#return; {26224#(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-08 12:32:43,223 INFO L290 TraceCheckUtils]: 118: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,223 INFO L290 TraceCheckUtils]: 117: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,224 INFO L290 TraceCheckUtils]: 116: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,224 INFO L272 TraceCheckUtils]: 115: Hoare triple {26224#(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)); {25711#true} is VALID [2022-04-08 12:32:43,224 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {25711#true} {26224#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} #91#return; {26224#(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-08 12:32:43,224 INFO L290 TraceCheckUtils]: 113: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,224 INFO L290 TraceCheckUtils]: 112: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,224 INFO L290 TraceCheckUtils]: 111: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,224 INFO L272 TraceCheckUtils]: 110: Hoare triple {26224#(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)); {25711#true} is VALID [2022-04-08 12:32:43,225 INFO L290 TraceCheckUtils]: 109: Hoare triple {26224#(or (and (< main_~c~0 (div (+ (* (- 1) main_~c~0) 2) 2)) (<= 0 main_~c~0)) (<= main_~b~0 main_~c~0))} assume !false; {26224#(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-08 12:32:43,227 INFO L290 TraceCheckUtils]: 108: Hoare triple {26291#(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; {26224#(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-08 12:32:43,227 INFO L284 TraceCheckUtils]: 107: Hoare quadruple {25711#true} {26291#(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; {26291#(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-08 12:32:43,227 INFO L290 TraceCheckUtils]: 106: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,227 INFO L290 TraceCheckUtils]: 105: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,228 INFO L290 TraceCheckUtils]: 104: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,228 INFO L272 TraceCheckUtils]: 103: Hoare triple {26291#(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)); {25711#true} is VALID [2022-04-08 12:32:43,228 INFO L284 TraceCheckUtils]: 102: Hoare quadruple {25711#true} {26291#(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; {26291#(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-08 12:32:43,228 INFO L290 TraceCheckUtils]: 101: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,228 INFO L290 TraceCheckUtils]: 100: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,228 INFO L290 TraceCheckUtils]: 99: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,229 INFO L272 TraceCheckUtils]: 98: Hoare triple {26291#(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)); {25711#true} is VALID [2022-04-08 12:32:43,229 INFO L284 TraceCheckUtils]: 97: Hoare quadruple {25711#true} {26291#(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; {26291#(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-08 12:32:43,229 INFO L290 TraceCheckUtils]: 96: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,229 INFO L290 TraceCheckUtils]: 95: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,229 INFO L290 TraceCheckUtils]: 94: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,229 INFO L272 TraceCheckUtils]: 93: Hoare triple {26291#(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)); {25711#true} is VALID [2022-04-08 12:32:43,230 INFO L284 TraceCheckUtils]: 92: Hoare quadruple {25711#true} {26291#(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; {26291#(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-08 12:32:43,230 INFO L290 TraceCheckUtils]: 91: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,230 INFO L290 TraceCheckUtils]: 90: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,230 INFO L290 TraceCheckUtils]: 89: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,230 INFO L272 TraceCheckUtils]: 88: Hoare triple {26291#(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)); {25711#true} is VALID [2022-04-08 12:32:43,239 INFO L290 TraceCheckUtils]: 87: Hoare triple {26291#(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; {26291#(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-08 12:32:43,245 INFO L290 TraceCheckUtils]: 86: Hoare triple {26358#(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; {26291#(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-08 12:32:43,246 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {25711#true} {26362#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} #97#return; {26358#(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-08 12:32:43,246 INFO L290 TraceCheckUtils]: 84: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,246 INFO L290 TraceCheckUtils]: 83: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,247 INFO L290 TraceCheckUtils]: 82: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,247 INFO L272 TraceCheckUtils]: 81: Hoare triple {26362#(<= 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)); {25711#true} is VALID [2022-04-08 12:32:43,247 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {25711#true} {26362#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} #95#return; {26362#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} is VALID [2022-04-08 12:32:43,247 INFO L290 TraceCheckUtils]: 79: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,247 INFO L290 TraceCheckUtils]: 78: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,248 INFO L290 TraceCheckUtils]: 77: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,248 INFO L272 TraceCheckUtils]: 76: Hoare triple {26362#(<= 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)); {25711#true} is VALID [2022-04-08 12:32:43,248 INFO L284 TraceCheckUtils]: 75: Hoare quadruple {25711#true} {26362#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} #93#return; {26362#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} is VALID [2022-04-08 12:32:43,248 INFO L290 TraceCheckUtils]: 74: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,248 INFO L290 TraceCheckUtils]: 73: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,249 INFO L290 TraceCheckUtils]: 72: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,249 INFO L272 TraceCheckUtils]: 71: Hoare triple {26362#(<= 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)); {25711#true} is VALID [2022-04-08 12:32:43,249 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {25711#true} {26362#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} #91#return; {26362#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} is VALID [2022-04-08 12:32:43,249 INFO L290 TraceCheckUtils]: 69: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,249 INFO L290 TraceCheckUtils]: 68: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,249 INFO L290 TraceCheckUtils]: 67: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,250 INFO L272 TraceCheckUtils]: 66: Hoare triple {26362#(<= 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)); {25711#true} is VALID [2022-04-08 12:32:43,250 INFO L290 TraceCheckUtils]: 65: Hoare triple {26362#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} assume !false; {26362#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} is VALID [2022-04-08 12:32:43,251 INFO L290 TraceCheckUtils]: 64: Hoare triple {26426#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~a~0) 2) 2) (- 2)) 3) 1))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {26362#(<= 0 (div (+ (* (- 1) (div (* (- 1) main_~c~0) (- 2))) 2) 3))} is VALID [2022-04-08 12:32:43,251 INFO L290 TraceCheckUtils]: 63: Hoare triple {26426#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~a~0) 2) 2) (- 2)) 3) 1))} assume !false; {26426#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~a~0) 2) 2) (- 2)) 3) 1))} is VALID [2022-04-08 12:32:43,252 INFO L290 TraceCheckUtils]: 62: Hoare triple {26433#(<= 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; {26426#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~a~0) 2) 2) (- 2)) 3) 1))} is VALID [2022-04-08 12:32:43,252 INFO L290 TraceCheckUtils]: 61: Hoare triple {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} assume !(~c~0 >= ~b~0); {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-08 12:32:43,253 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {25711#true} {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #97#return; {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-08 12:32:43,253 INFO L290 TraceCheckUtils]: 59: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,253 INFO L290 TraceCheckUtils]: 58: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,253 INFO L290 TraceCheckUtils]: 57: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,254 INFO L272 TraceCheckUtils]: 56: Hoare triple {26433#(<= 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)); {25711#true} is VALID [2022-04-08 12:32:43,254 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {25711#true} {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #95#return; {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-08 12:32:43,254 INFO L290 TraceCheckUtils]: 54: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,254 INFO L290 TraceCheckUtils]: 53: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,254 INFO L290 TraceCheckUtils]: 52: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,254 INFO L272 TraceCheckUtils]: 51: Hoare triple {26433#(<= 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)); {25711#true} is VALID [2022-04-08 12:32:43,255 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {25711#true} {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #93#return; {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-08 12:32:43,255 INFO L290 TraceCheckUtils]: 49: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,255 INFO L290 TraceCheckUtils]: 48: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,255 INFO L290 TraceCheckUtils]: 47: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,255 INFO L272 TraceCheckUtils]: 46: Hoare triple {26433#(<= 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)); {25711#true} is VALID [2022-04-08 12:32:43,256 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {25711#true} {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #91#return; {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-08 12:32:43,256 INFO L290 TraceCheckUtils]: 44: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,256 INFO L290 TraceCheckUtils]: 43: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,256 INFO L290 TraceCheckUtils]: 42: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,256 INFO L272 TraceCheckUtils]: 41: Hoare triple {26433#(<= 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)); {25711#true} is VALID [2022-04-08 12:32:43,257 INFO L290 TraceCheckUtils]: 40: Hoare triple {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} assume !false; {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-08 12:32:43,257 INFO L290 TraceCheckUtils]: 39: Hoare triple {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} assume !!(0 != ~b~0);~c~0 := ~a~0;~k~0 := 0; {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-08 12:32:43,257 INFO L290 TraceCheckUtils]: 38: Hoare triple {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} assume !false; {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-08 12:32:43,258 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {25711#true} {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #89#return; {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-08 12:32:43,258 INFO L290 TraceCheckUtils]: 36: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,258 INFO L290 TraceCheckUtils]: 35: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,258 INFO L290 TraceCheckUtils]: 34: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,258 INFO L272 TraceCheckUtils]: 33: Hoare triple {26433#(<= 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)); {25711#true} is VALID [2022-04-08 12:32:43,259 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {25711#true} {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} #87#return; {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-08 12:32:43,259 INFO L290 TraceCheckUtils]: 31: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,259 INFO L290 TraceCheckUtils]: 30: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,259 INFO L290 TraceCheckUtils]: 29: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,259 INFO L272 TraceCheckUtils]: 28: Hoare triple {26433#(<= 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)); {25711#true} is VALID [2022-04-08 12:32:43,260 INFO L290 TraceCheckUtils]: 27: Hoare triple {26539#(<= 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; {26433#(<= 0 (+ (div (+ (div (+ (* (- 1) main_~b~0) (- 4)) 2) (- 2)) 3) 2))} is VALID [2022-04-08 12:32:43,261 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {25711#true} {26539#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} #85#return; {26539#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} is VALID [2022-04-08 12:32:43,261 INFO L290 TraceCheckUtils]: 25: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,261 INFO L290 TraceCheckUtils]: 24: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,261 INFO L290 TraceCheckUtils]: 23: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,261 INFO L272 TraceCheckUtils]: 22: Hoare triple {26539#(<= 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)); {25711#true} is VALID [2022-04-08 12:32:43,262 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {25711#true} {26539#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} #83#return; {26539#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} is VALID [2022-04-08 12:32:43,262 INFO L290 TraceCheckUtils]: 20: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,262 INFO L290 TraceCheckUtils]: 19: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,262 INFO L290 TraceCheckUtils]: 18: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,262 INFO L272 TraceCheckUtils]: 17: Hoare triple {26539#(<= 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)); {25711#true} is VALID [2022-04-08 12:32:43,263 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {25759#(not (= |assume_abort_if_not_#in~cond| 0))} {25711#true} #81#return; {26539#(<= 0 (+ 3 (div (+ (- 2) (div (+ (* (- 1) main_~y~0) (- 10)) 2)) 3)))} is VALID [2022-04-08 12:32:43,263 INFO L290 TraceCheckUtils]: 15: Hoare triple {25759#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {25759#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:32:43,264 INFO L290 TraceCheckUtils]: 14: Hoare triple {26582#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {25759#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:32:43,264 INFO L290 TraceCheckUtils]: 13: Hoare triple {25711#true} ~cond := #in~cond; {26582#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-08 12:32:43,264 INFO L272 TraceCheckUtils]: 12: Hoare triple {25711#true} call assume_abort_if_not((if ~y~0 >= 0 && ~y~0 <= 2 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:43,264 INFO L290 TraceCheckUtils]: 11: Hoare triple {25711#true} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25711#true} is VALID [2022-04-08 12:32:43,264 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25711#true} {25711#true} #79#return; {25711#true} is VALID [2022-04-08 12:32:43,264 INFO L290 TraceCheckUtils]: 9: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,264 INFO L290 TraceCheckUtils]: 8: Hoare triple {25711#true} assume !(0 == ~cond); {25711#true} is VALID [2022-04-08 12:32:43,265 INFO L290 TraceCheckUtils]: 7: Hoare triple {25711#true} ~cond := #in~cond; {25711#true} is VALID [2022-04-08 12:32:43,265 INFO L272 TraceCheckUtils]: 6: Hoare triple {25711#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {25711#true} is VALID [2022-04-08 12:32:43,265 INFO L290 TraceCheckUtils]: 5: Hoare triple {25711#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; {25711#true} is VALID [2022-04-08 12:32:43,265 INFO L272 TraceCheckUtils]: 4: Hoare triple {25711#true} call #t~ret6 := main(); {25711#true} is VALID [2022-04-08 12:32:43,265 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25711#true} {25711#true} #103#return; {25711#true} is VALID [2022-04-08 12:32:43,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {25711#true} assume true; {25711#true} is VALID [2022-04-08 12:32:43,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {25711#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); {25711#true} is VALID [2022-04-08 12:32:43,265 INFO L272 TraceCheckUtils]: 0: Hoare triple {25711#true} call ULTIMATE.init(); {25711#true} is VALID [2022-04-08 12:32:43,266 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-08 12:32:43,266 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 12:32:43,266 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2135087279] [2022-04-08 12:32:43,266 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 12:32:43,266 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [168034318] [2022-04-08 12:32:43,266 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [168034318] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 12:32:43,266 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 12:32:43,266 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 13] total 20 [2022-04-08 12:32:43,267 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 12:32:43,267 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1867844649] [2022-04-08 12:32:43,267 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1867844649] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 12:32:43,267 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 12:32:43,267 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 12:32:43,267 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1620557230] [2022-04-08 12:32:43,267 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 12:32:43,268 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-08 12:32:43,268 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 12:32:43,268 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-08 12:32:43,363 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-08 12:32:43,363 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 12:32:43,363 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 12:32:43,363 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 12:32:43,364 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=320, Unknown=0, NotChecked=0, Total=380 [2022-04-08 12:32:43,364 INFO L87 Difference]: Start difference. First operand 159 states and 203 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-08 12:32:45,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:32:45,348 INFO L93 Difference]: Finished difference Result 211 states and 277 transitions. [2022-04-08 12:32:45,348 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-08 12:32:45,348 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-08 12:32:45,348 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 12:32:45,348 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-08 12:32:45,350 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 115 transitions. [2022-04-08 12:32:45,350 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-08 12:32:45,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 115 transitions. [2022-04-08 12:32:45,351 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 115 transitions. [2022-04-08 12:32:45,538 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-08 12:32:45,540 INFO L225 Difference]: With dead ends: 211 [2022-04-08 12:32:45,540 INFO L226 Difference]: Without dead ends: 151 [2022-04-08 12:32:45,541 INFO L912 BasicCegarLoop]: 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-08 12:32:45,541 INFO L913 BasicCegarLoop]: 64 mSDtfsCounter, 32 mSDsluCounter, 236 mSDsCounter, 0 mSdLazyCounter, 385 mSolverCounterSat, 63 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 300 SdHoareTripleChecker+Invalid, 448 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 63 IncrementalHoareTripleChecker+Valid, 385 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 12:32:45,541 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 300 Invalid, 448 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [63 Valid, 385 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 12:32:45,541 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2022-04-08 12:32:46,056 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 150. [2022-04-08 12:32:46,056 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 12:32:46,056 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-08 12:32:46,056 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-08 12:32:46,057 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-08 12:32:46,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:32:46,059 INFO L93 Difference]: Finished difference Result 151 states and 192 transitions. [2022-04-08 12:32:46,059 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 192 transitions. [2022-04-08 12:32:46,059 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:32:46,059 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:32:46,059 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-08 12:32:46,068 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-08 12:32:46,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 12:32:46,070 INFO L93 Difference]: Finished difference Result 151 states and 192 transitions. [2022-04-08 12:32:46,070 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 192 transitions. [2022-04-08 12:32:46,070 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 12:32:46,071 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 12:32:46,071 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 12:32:46,071 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 12:32:46,071 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-08 12:32:46,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 191 transitions. [2022-04-08 12:32:46,073 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 191 transitions. Word has length 149 [2022-04-08 12:32:46,073 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 12:32:46,073 INFO L478 AbstractCegarLoop]: Abstraction has 150 states and 191 transitions. [2022-04-08 12:32:46,073 INFO L479 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-08 12:32:46,074 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 150 states and 191 transitions. [2022-04-08 12:32:46,494 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-08 12:32:46,494 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 191 transitions. [2022-04-08 12:32:46,495 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 183 [2022-04-08 12:32:46,495 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 12:32:46,495 INFO L499 BasicCegarLoop]: 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-08 12:32:46,511 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-08 12:32:46,695 WARN L460 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-08 12:32:46,696 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 12:32:46,696 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 12:32:46,696 INFO L85 PathProgramCache]: Analyzing trace with hash -804600145, now seen corresponding path program 11 times [2022-04-08 12:32:46,696 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 12:32:46,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1389504973] [2022-04-08 12:32:46,696 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 12:32:46,697 INFO L85 PathProgramCache]: Analyzing trace with hash -804600145, now seen corresponding path program 12 times [2022-04-08 12:32:46,697 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 12:32:46,697 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1529828788] [2022-04-08 12:32:46,697 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 12:32:46,697 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 12:32:46,708 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 12:32:46,708 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [896437343] [2022-04-08 12:32:46,708 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 12:32:46,708 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 12:32:46,709 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 12:32:46,709 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-08 12:32:46,710 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-08 12:32:47,433 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 7 check-sat command(s) [2022-04-08 12:32:47,433 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 12:32:47,436 INFO L263 TraceCheckSpWp]: Trace formula consists of 344 conjuncts, 62 conjunts are in the unsatisfiable core [2022-04-08 12:32:47,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 12:32:47,474 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 12:33:02,347 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:33:15,035 WARN L232 SmtUtils]: Spent 6.04s 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-08 12:33:24,765 WARN L907 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-08 12:34:09,672 INFO L272 TraceCheckUtils]: 0: Hoare triple {27670#true} call ULTIMATE.init(); {27670#true} is VALID [2022-04-08 12:34:09,673 INFO L290 TraceCheckUtils]: 1: Hoare triple {27670#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); {27670#true} is VALID [2022-04-08 12:34:09,673 INFO L290 TraceCheckUtils]: 2: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,673 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27670#true} {27670#true} #103#return; {27670#true} is VALID [2022-04-08 12:34:09,673 INFO L272 TraceCheckUtils]: 4: Hoare triple {27670#true} call #t~ret6 := main(); {27670#true} is VALID [2022-04-08 12:34:09,673 INFO L290 TraceCheckUtils]: 5: Hoare triple {27670#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; {27670#true} is VALID [2022-04-08 12:34:09,673 INFO L272 TraceCheckUtils]: 6: Hoare triple {27670#true} call assume_abort_if_not((if ~x~0 >= 0 && ~x~0 <= 2 then 1 else 0)); {27670#true} is VALID [2022-04-08 12:34:09,673 INFO L290 TraceCheckUtils]: 7: Hoare triple {27670#true} ~cond := #in~cond; {27696#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 12:34:09,674 INFO L290 TraceCheckUtils]: 8: Hoare triple {27696#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {27700#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:34:09,674 INFO L290 TraceCheckUtils]: 9: Hoare triple {27700#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {27700#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 12:34:09,674 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27700#(not (= |assume_abort_if_not_#in~cond| 0))} {27670#true} #79#return; {27707#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:34:09,675 INFO L290 TraceCheckUtils]: 11: Hoare triple {27707#(and (<= 0 main_~x~0) (<= main_~x~0 2))} assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27707#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:34:09,675 INFO L272 TraceCheckUtils]: 12: Hoare triple {27707#(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)); {27670#true} is VALID [2022-04-08 12:34:09,675 INFO L290 TraceCheckUtils]: 13: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,675 INFO L290 TraceCheckUtils]: 14: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,675 INFO L290 TraceCheckUtils]: 15: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,676 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {27670#true} {27707#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #81#return; {27707#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:34:09,676 INFO L272 TraceCheckUtils]: 17: Hoare triple {27707#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27670#true} is VALID [2022-04-08 12:34:09,676 INFO L290 TraceCheckUtils]: 18: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,676 INFO L290 TraceCheckUtils]: 19: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,676 INFO L290 TraceCheckUtils]: 20: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,676 INFO L284 TraceCheckUtils]: 21: Hoare quadruple {27670#true} {27707#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #83#return; {27707#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:34:09,676 INFO L272 TraceCheckUtils]: 22: Hoare triple {27707#(and (<= 0 main_~x~0) (<= main_~x~0 2))} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27670#true} is VALID [2022-04-08 12:34:09,676 INFO L290 TraceCheckUtils]: 23: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,677 INFO L290 TraceCheckUtils]: 24: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,677 INFO L290 TraceCheckUtils]: 25: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,677 INFO L284 TraceCheckUtils]: 26: Hoare quadruple {27670#true} {27707#(and (<= 0 main_~x~0) (<= main_~x~0 2))} #85#return; {27707#(and (<= 0 main_~x~0) (<= main_~x~0 2))} is VALID [2022-04-08 12:34:09,677 INFO L290 TraceCheckUtils]: 27: Hoare triple {27707#(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; {27759#(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-08 12:34:09,678 INFO L272 TraceCheckUtils]: 28: Hoare triple {27759#(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)); {27670#true} is VALID [2022-04-08 12:34:09,678 INFO L290 TraceCheckUtils]: 29: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,678 INFO L290 TraceCheckUtils]: 30: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,678 INFO L290 TraceCheckUtils]: 31: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,678 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {27670#true} {27759#(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; {27759#(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-08 12:34:09,679 INFO L272 TraceCheckUtils]: 33: Hoare triple {27759#(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)); {27670#true} is VALID [2022-04-08 12:34:09,679 INFO L290 TraceCheckUtils]: 34: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,679 INFO L290 TraceCheckUtils]: 35: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,679 INFO L290 TraceCheckUtils]: 36: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,679 INFO L284 TraceCheckUtils]: 37: Hoare quadruple {27670#true} {27759#(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; {27759#(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-08 12:34:09,680 INFO L290 TraceCheckUtils]: 38: Hoare triple {27759#(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; {27759#(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-08 12:34:09,680 INFO L290 TraceCheckUtils]: 39: Hoare triple {27759#(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; {27759#(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-08 12:34:09,681 INFO L290 TraceCheckUtils]: 40: Hoare triple {27759#(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; {27759#(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-08 12:34:09,681 INFO L272 TraceCheckUtils]: 41: Hoare triple {27759#(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)); {27670#true} is VALID [2022-04-08 12:34:09,681 INFO L290 TraceCheckUtils]: 42: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,681 INFO L290 TraceCheckUtils]: 43: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,681 INFO L290 TraceCheckUtils]: 44: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,682 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {27670#true} {27759#(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; {27759#(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-08 12:34:09,682 INFO L272 TraceCheckUtils]: 46: Hoare triple {27759#(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)); {27670#true} is VALID [2022-04-08 12:34:09,682 INFO L290 TraceCheckUtils]: 47: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,682 INFO L290 TraceCheckUtils]: 48: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,682 INFO L290 TraceCheckUtils]: 49: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,683 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {27670#true} {27759#(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; {27759#(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-08 12:34:09,683 INFO L272 TraceCheckUtils]: 51: Hoare triple {27759#(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)); {27670#true} is VALID [2022-04-08 12:34:09,683 INFO L290 TraceCheckUtils]: 52: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,683 INFO L290 TraceCheckUtils]: 53: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,683 INFO L290 TraceCheckUtils]: 54: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,684 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {27670#true} {27759#(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; {27759#(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-08 12:34:09,684 INFO L272 TraceCheckUtils]: 56: Hoare triple {27759#(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)); {27670#true} is VALID [2022-04-08 12:34:09,684 INFO L290 TraceCheckUtils]: 57: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,684 INFO L290 TraceCheckUtils]: 58: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,684 INFO L290 TraceCheckUtils]: 59: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,685 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {27670#true} {27759#(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; {27759#(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-08 12:34:09,685 INFO L290 TraceCheckUtils]: 61: Hoare triple {27759#(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; {27759#(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-08 12:34:09,685 INFO L290 TraceCheckUtils]: 62: Hoare triple {27759#(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; {27759#(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-08 12:34:09,686 INFO L272 TraceCheckUtils]: 63: Hoare triple {27759#(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)); {27670#true} is VALID [2022-04-08 12:34:09,686 INFO L290 TraceCheckUtils]: 64: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,686 INFO L290 TraceCheckUtils]: 65: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,686 INFO L290 TraceCheckUtils]: 66: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,686 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {27670#true} {27759#(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; {27759#(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-08 12:34:09,687 INFO L272 TraceCheckUtils]: 68: Hoare triple {27759#(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)); {27670#true} is VALID [2022-04-08 12:34:09,687 INFO L290 TraceCheckUtils]: 69: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,687 INFO L290 TraceCheckUtils]: 70: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,687 INFO L290 TraceCheckUtils]: 71: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,687 INFO L284 TraceCheckUtils]: 72: Hoare quadruple {27670#true} {27759#(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; {27759#(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-08 12:34:09,688 INFO L272 TraceCheckUtils]: 73: Hoare triple {27759#(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)); {27670#true} is VALID [2022-04-08 12:34:09,688 INFO L290 TraceCheckUtils]: 74: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,688 INFO L290 TraceCheckUtils]: 75: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,688 INFO L290 TraceCheckUtils]: 76: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,688 INFO L284 TraceCheckUtils]: 77: Hoare quadruple {27670#true} {27759#(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; {27759#(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-08 12:34:09,688 INFO L272 TraceCheckUtils]: 78: Hoare triple {27759#(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)); {27670#true} is VALID [2022-04-08 12:34:09,689 INFO L290 TraceCheckUtils]: 79: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,689 INFO L290 TraceCheckUtils]: 80: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,689 INFO L290 TraceCheckUtils]: 81: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,689 INFO L284 TraceCheckUtils]: 82: Hoare quadruple {27670#true} {27759#(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; {27759#(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-08 12:34:09,690 INFO L290 TraceCheckUtils]: 83: Hoare triple {27759#(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; {27759#(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-08 12:34:09,690 INFO L290 TraceCheckUtils]: 84: Hoare triple {27759#(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; {27759#(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-08 12:34:09,690 INFO L272 TraceCheckUtils]: 85: Hoare triple {27759#(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)); {27670#true} is VALID [2022-04-08 12:34:09,690 INFO L290 TraceCheckUtils]: 86: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,691 INFO L290 TraceCheckUtils]: 87: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,691 INFO L290 TraceCheckUtils]: 88: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,691 INFO L284 TraceCheckUtils]: 89: Hoare quadruple {27670#true} {27759#(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; {27759#(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-08 12:34:09,691 INFO L272 TraceCheckUtils]: 90: Hoare triple {27759#(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)); {27670#true} is VALID [2022-04-08 12:34:09,692 INFO L290 TraceCheckUtils]: 91: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,692 INFO L290 TraceCheckUtils]: 92: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,692 INFO L290 TraceCheckUtils]: 93: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,692 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {27670#true} {27759#(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; {27759#(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-08 12:34:09,692 INFO L272 TraceCheckUtils]: 95: Hoare triple {27759#(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)); {27670#true} is VALID [2022-04-08 12:34:09,693 INFO L290 TraceCheckUtils]: 96: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,693 INFO L290 TraceCheckUtils]: 97: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,693 INFO L290 TraceCheckUtils]: 98: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,693 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {27670#true} {27759#(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; {27759#(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-08 12:34:09,693 INFO L272 TraceCheckUtils]: 100: Hoare triple {27759#(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)); {27670#true} is VALID [2022-04-08 12:34:09,694 INFO L290 TraceCheckUtils]: 101: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,694 INFO L290 TraceCheckUtils]: 102: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,694 INFO L290 TraceCheckUtils]: 103: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,694 INFO L284 TraceCheckUtils]: 104: Hoare quadruple {27670#true} {27759#(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; {27759#(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-08 12:34:09,695 INFO L290 TraceCheckUtils]: 105: Hoare triple {27759#(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); {27994#(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-08 12:34:09,695 INFO L290 TraceCheckUtils]: 106: Hoare triple {27994#(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; {27998#(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-08 12:34:09,696 INFO L290 TraceCheckUtils]: 107: Hoare triple {27998#(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; {27998#(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-08 12:34:09,696 INFO L290 TraceCheckUtils]: 108: Hoare triple {27998#(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; {28005#(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-08 12:34:09,697 INFO L290 TraceCheckUtils]: 109: Hoare triple {28005#(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; {28005#(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-08 12:34:09,697 INFO L272 TraceCheckUtils]: 110: Hoare triple {28005#(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)); {27670#true} is VALID [2022-04-08 12:34:09,697 INFO L290 TraceCheckUtils]: 111: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,697 INFO L290 TraceCheckUtils]: 112: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,697 INFO L290 TraceCheckUtils]: 113: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,698 INFO L284 TraceCheckUtils]: 114: Hoare quadruple {27670#true} {28005#(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; {28005#(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-08 12:34:09,698 INFO L272 TraceCheckUtils]: 115: Hoare triple {28005#(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)); {27670#true} is VALID [2022-04-08 12:34:09,698 INFO L290 TraceCheckUtils]: 116: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,698 INFO L290 TraceCheckUtils]: 117: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,698 INFO L290 TraceCheckUtils]: 118: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,699 INFO L284 TraceCheckUtils]: 119: Hoare quadruple {27670#true} {28005#(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; {28005#(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-08 12:34:09,699 INFO L272 TraceCheckUtils]: 120: Hoare triple {28005#(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)); {27670#true} is VALID [2022-04-08 12:34:09,699 INFO L290 TraceCheckUtils]: 121: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,699 INFO L290 TraceCheckUtils]: 122: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,699 INFO L290 TraceCheckUtils]: 123: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,700 INFO L284 TraceCheckUtils]: 124: Hoare quadruple {27670#true} {28005#(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; {28005#(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-08 12:34:09,700 INFO L272 TraceCheckUtils]: 125: Hoare triple {28005#(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)); {27670#true} is VALID [2022-04-08 12:34:09,700 INFO L290 TraceCheckUtils]: 126: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,700 INFO L290 TraceCheckUtils]: 127: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,700 INFO L290 TraceCheckUtils]: 128: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,701 INFO L284 TraceCheckUtils]: 129: Hoare quadruple {27670#true} {28005#(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; {28005#(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-08 12:34:09,701 INFO L290 TraceCheckUtils]: 130: Hoare triple {28005#(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; {28072#(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-08 12:34:09,702 INFO L290 TraceCheckUtils]: 131: Hoare triple {28072#(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; {28072#(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-08 12:34:09,702 INFO L272 TraceCheckUtils]: 132: Hoare triple {28072#(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)); {27670#true} is VALID [2022-04-08 12:34:09,702 INFO L290 TraceCheckUtils]: 133: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,702 INFO L290 TraceCheckUtils]: 134: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,702 INFO L290 TraceCheckUtils]: 135: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,703 INFO L284 TraceCheckUtils]: 136: Hoare quadruple {27670#true} {28072#(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; {28072#(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-08 12:34:09,703 INFO L272 TraceCheckUtils]: 137: Hoare triple {28072#(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)); {27670#true} is VALID [2022-04-08 12:34:09,703 INFO L290 TraceCheckUtils]: 138: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,703 INFO L290 TraceCheckUtils]: 139: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,703 INFO L290 TraceCheckUtils]: 140: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,704 INFO L284 TraceCheckUtils]: 141: Hoare quadruple {27670#true} {28072#(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; {28072#(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-08 12:34:09,704 INFO L272 TraceCheckUtils]: 142: Hoare triple {28072#(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)); {27670#true} is VALID [2022-04-08 12:34:09,704 INFO L290 TraceCheckUtils]: 143: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,704 INFO L290 TraceCheckUtils]: 144: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,704 INFO L290 TraceCheckUtils]: 145: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,705 INFO L284 TraceCheckUtils]: 146: Hoare quadruple {27670#true} {28072#(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; {28072#(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-08 12:34:09,705 INFO L272 TraceCheckUtils]: 147: Hoare triple {28072#(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)); {27670#true} is VALID [2022-04-08 12:34:09,705 INFO L290 TraceCheckUtils]: 148: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,705 INFO L290 TraceCheckUtils]: 149: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,705 INFO L290 TraceCheckUtils]: 150: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,706 INFO L284 TraceCheckUtils]: 151: Hoare quadruple {27670#true} {28072#(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; {28072#(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-08 12:34:09,708 INFO L290 TraceCheckUtils]: 152: Hoare triple {28072#(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; {28139#(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-08 12:34:09,708 INFO L290 TraceCheckUtils]: 153: Hoare triple {28139#(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; {28139#(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-08 12:34:09,709 INFO L272 TraceCheckUtils]: 154: Hoare triple {28139#(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)); {27670#true} is VALID [2022-04-08 12:34:09,709 INFO L290 TraceCheckUtils]: 155: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,709 INFO L290 TraceCheckUtils]: 156: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,709 INFO L290 TraceCheckUtils]: 157: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,710 INFO L284 TraceCheckUtils]: 158: Hoare quadruple {27670#true} {28139#(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; {28139#(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-08 12:34:09,710 INFO L272 TraceCheckUtils]: 159: Hoare triple {28139#(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)); {27670#true} is VALID [2022-04-08 12:34:09,710 INFO L290 TraceCheckUtils]: 160: Hoare triple {27670#true} ~cond := #in~cond; {27670#true} is VALID [2022-04-08 12:34:09,710 INFO L290 TraceCheckUtils]: 161: Hoare triple {27670#true} assume !(0 == ~cond); {27670#true} is VALID [2022-04-08 12:34:09,710 INFO L290 TraceCheckUtils]: 162: Hoare triple {27670#true} assume true; {27670#true} is VALID [2022-04-08 12:34:09,711 INFO L284 TraceCheckUtils]: 163: Hoare quadruple {27670#true} {28139#(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; {28139#(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-08 12:34:09,711 INFO L272 TraceCheckUtils]: 164: Hoare triple {28139#(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)); {27670#true} is VALID [2022-04-08 12:34:09,711 INFO L290 TraceCheckUtils]: 165: Hoare triple {27670#true} ~cond := #in~cond; {28179#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:34:09,711 INFO L290 TraceCheckUtils]: 166: Hoare triple {28179#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {28183#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:09,711 INFO L290 TraceCheckUtils]: 167: Hoare triple {28183#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {28183#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:09,713 INFO L284 TraceCheckUtils]: 168: Hoare quadruple {28183#(not (= |__VERIFIER_assert_#in~cond| 0))} {28139#(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; {28190#(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-08 12:34:09,713 INFO L272 TraceCheckUtils]: 169: Hoare triple {28190#(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)); {27670#true} is VALID [2022-04-08 12:34:09,713 INFO L290 TraceCheckUtils]: 170: Hoare triple {27670#true} ~cond := #in~cond; {28179#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:34:09,713 INFO L290 TraceCheckUtils]: 171: Hoare triple {28179#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {28183#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:09,714 INFO L290 TraceCheckUtils]: 172: Hoare triple {28183#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {28183#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 12:34:12,306 WARN L284 TraceCheckUtils]: 173: Hoare quadruple {28183#(not (= |__VERIFIER_assert_#in~cond| 0))} {28190#(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; {28206#(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-08 12:34:12,308 INFO L290 TraceCheckUtils]: 174: Hoare triple {28206#(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); {28210#(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-08 12:34:12,313 INFO L290 TraceCheckUtils]: 175: Hoare triple {28210#(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; {28214#(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-08 12:34:12,314 INFO L290 TraceCheckUtils]: 176: Hoare triple {28214#(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; {28214#(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-08 12:34:12,314 INFO L290 TraceCheckUtils]: 177: Hoare triple {28214#(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); {28221#(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-08 12:34:12,650 INFO L272 TraceCheckUtils]: 178: Hoare triple {28221#(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)); {28225#(exists ((aux_div_aux_mod_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95_57 Int) (v_main_~y~0_BEFORE_CALL_206 Int) (aux_div_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95 Int) (v_main_~x~0_BEFORE_CALL_213 Int) (aux_div_v_main_~s~0_BEFORE_CALL_159_51 Int)) (and (<= v_main_~x~0_BEFORE_CALL_213 2) (< (+ (* 2 aux_div_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95) (* aux_div_aux_mod_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95_57 2)) (+ (* aux_div_v_main_~s~0_BEFORE_CALL_159_51 2) 2)) (< 0 (+ (* aux_div_aux_mod_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95_57 v_main_~y~0_BEFORE_CALL_206) (* v_main_~y~0_BEFORE_CALL_206 aux_div_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95) v_main_~x~0_BEFORE_CALL_213)) (<= (+ (* 2 v_main_~x~0_BEFORE_CALL_213) (* (* aux_div_v_main_~s~0_BEFORE_CALL_159_51 v_main_~y~0_BEFORE_CALL_206) 2)) v_main_~y~0_BEFORE_CALL_206) (<= v_main_~y~0_BEFORE_CALL_206 (+ (* 2 v_main_~x~0_BEFORE_CALL_213) (* 2 (* v_main_~y~0_BEFORE_CALL_206 aux_div_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95)))) (<= 0 (* aux_div_aux_mod_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95_57 2)) (<= 1 |__VERIFIER_assert_#in~cond|) (<= 0 v_main_~x~0_BEFORE_CALL_213) (<= (* aux_div_v_main_~s~0_BEFORE_CALL_159_51 2) (+ (* 2 aux_div_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95) (* aux_div_aux_mod_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95_57 2)))))} is VALID [2022-04-08 12:34:12,651 INFO L290 TraceCheckUtils]: 179: Hoare triple {28225#(exists ((aux_div_aux_mod_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95_57 Int) (v_main_~y~0_BEFORE_CALL_206 Int) (aux_div_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95 Int) (v_main_~x~0_BEFORE_CALL_213 Int) (aux_div_v_main_~s~0_BEFORE_CALL_159_51 Int)) (and (<= v_main_~x~0_BEFORE_CALL_213 2) (< (+ (* 2 aux_div_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95) (* aux_div_aux_mod_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95_57 2)) (+ (* aux_div_v_main_~s~0_BEFORE_CALL_159_51 2) 2)) (< 0 (+ (* aux_div_aux_mod_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95_57 v_main_~y~0_BEFORE_CALL_206) (* v_main_~y~0_BEFORE_CALL_206 aux_div_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95) v_main_~x~0_BEFORE_CALL_213)) (<= (+ (* 2 v_main_~x~0_BEFORE_CALL_213) (* (* aux_div_v_main_~s~0_BEFORE_CALL_159_51 v_main_~y~0_BEFORE_CALL_206) 2)) v_main_~y~0_BEFORE_CALL_206) (<= v_main_~y~0_BEFORE_CALL_206 (+ (* 2 v_main_~x~0_BEFORE_CALL_213) (* 2 (* v_main_~y~0_BEFORE_CALL_206 aux_div_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95)))) (<= 0 (* aux_div_aux_mod_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95_57 2)) (<= 1 |__VERIFIER_assert_#in~cond|) (<= 0 v_main_~x~0_BEFORE_CALL_213) (<= (* aux_div_v_main_~s~0_BEFORE_CALL_159_51 2) (+ (* 2 aux_div_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95) (* aux_div_aux_mod_aux_mod_v_main_~s~0_BEFORE_CALL_159_51_95_57 2)))))} ~cond := #in~cond; {28229#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 12:34:12,651 INFO L290 TraceCheckUtils]: 180: Hoare triple {28229#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27671#false} is VALID [2022-04-08 12:34:12,652 INFO L290 TraceCheckUtils]: 181: Hoare triple {27671#false} assume !false; {27671#false} is VALID [2022-04-08 12:34:12,652 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-08 12:34:12,653 INFO L328 TraceCheckSpWp]: Computing backward predicates...