/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound50.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-e106359-m [2022-04-15 08:27:43,423 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 08:27:43,425 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 08:27:43,451 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 08:27:43,451 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 08:27:43,452 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 08:27:43,453 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 08:27:43,455 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 08:27:43,456 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 08:27:43,461 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 08:27:43,462 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 08:27:43,464 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 08:27:43,465 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 08:27:43,467 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 08:27:43,468 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 08:27:43,469 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 08:27:43,470 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 08:27:43,470 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 08:27:43,476 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 08:27:43,481 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 08:27:43,483 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 08:27:43,484 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 08:27:43,485 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 08:27:43,488 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 08:27:43,489 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 08:27:43,492 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 08:27:43,492 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 08:27:43,493 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 08:27:43,493 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 08:27:43,494 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 08:27:43,495 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 08:27:43,495 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 08:27:43,497 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 08:27:43,497 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 08:27:43,498 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 08:27:43,498 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 08:27:43,499 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 08:27:43,499 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 08:27:43,500 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 08:27:43,500 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 08:27:43,500 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 08:27:43,502 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 08:27:43,503 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 08:27:43,514 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 08:27:43,515 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 08:27:43,516 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 08:27:43,516 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 08:27:43,516 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 08:27:43,516 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 08:27:43,516 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 08:27:43,516 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 08:27:43,516 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 08:27:43,517 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 08:27:43,517 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 08:27:43,518 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 08:27:43,518 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 08:27:43,518 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 08:27:43,518 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 08:27:43,518 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 08:27:43,518 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 08:27:43,518 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 08:27:43,519 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 08:27:43,519 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 08:27:43,519 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 08:27:43,519 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 08:27:43,519 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 08:27:43,519 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 08:27:43,519 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 08:27:43,520 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-15 08:27:43,753 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 08:27:43,774 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 08:27:43,777 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 08:27:43,778 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 08:27:43,779 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 08:27:43,780 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound50.c [2022-04-15 08:27:43,853 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/46a07611f/92c132b8063a4901b4a6b4f8c88e9239/FLAG5a9db348c [2022-04-15 08:27:44,261 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 08:27:44,262 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench-scaling/egcd-ll_unwindbound50.c [2022-04-15 08:27:44,270 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/46a07611f/92c132b8063a4901b4a6b4f8c88e9239/FLAG5a9db348c [2022-04-15 08:27:44,281 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/46a07611f/92c132b8063a4901b4a6b4f8c88e9239 [2022-04-15 08:27:44,288 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 08:27:44,290 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 08:27:44,293 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 08:27:44,293 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 08:27:44,297 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 08:27:44,298 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 08:27:44" (1/1) ... [2022-04-15 08:27:44,299 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6ee8ffd1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:27:44, skipping insertion in model container [2022-04-15 08:27:44,299 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 08:27:44" (1/1) ... [2022-04-15 08:27:44,305 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 08:27:44,320 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 08:27:44,468 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/egcd-ll_unwindbound50.c[489,502] [2022-04-15 08:27:44,497 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 08:27:44,510 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 08:27:44,535 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/egcd-ll_unwindbound50.c[489,502] [2022-04-15 08:27:44,550 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 08:27:44,563 INFO L208 MainTranslator]: Completed translation [2022-04-15 08:27:44,564 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:27:44 WrapperNode [2022-04-15 08:27:44,564 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 08:27:44,565 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 08:27:44,566 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 08:27:44,566 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 08:27:44,578 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:27:44" (1/1) ... [2022-04-15 08:27:44,578 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:27:44" (1/1) ... [2022-04-15 08:27:44,588 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:27:44" (1/1) ... [2022-04-15 08:27:44,588 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:27:44" (1/1) ... [2022-04-15 08:27:44,600 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:27:44" (1/1) ... [2022-04-15 08:27:44,609 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:27:44" (1/1) ... [2022-04-15 08:27:44,610 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:27:44" (1/1) ... [2022-04-15 08:27:44,611 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 08:27:44,612 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 08:27:44,612 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 08:27:44,612 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 08:27:44,613 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:27:44" (1/1) ... [2022-04-15 08:27:44,619 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 08:27:44,628 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:27:44,645 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-15 08:27:44,650 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-15 08:27:44,683 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 08:27:44,683 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 08:27:44,683 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 08:27:44,683 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 08:27:44,684 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 08:27:44,684 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 08:27:44,684 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 08:27:44,684 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 08:27:44,685 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 08:27:44,685 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 08:27:44,686 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 08:27:44,686 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 08:27:44,687 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 08:27:44,687 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 08:27:44,687 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 08:27:44,688 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 08:27:44,688 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 08:27:44,688 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 08:27:44,688 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 08:27:44,688 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 08:27:44,744 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 08:27:44,745 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 08:27:44,912 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 08:27:44,929 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 08:27:44,929 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 08:27:44,931 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 08:27:44 BoogieIcfgContainer [2022-04-15 08:27:44,931 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 08:27:44,942 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 08:27:44,942 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 08:27:44,946 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 08:27:44,947 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 08:27:44" (1/3) ... [2022-04-15 08:27:44,948 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2c5191b4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 08:27:44, skipping insertion in model container [2022-04-15 08:27:44,948 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 08:27:44" (2/3) ... [2022-04-15 08:27:44,948 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@2c5191b4 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 08:27:44, skipping insertion in model container [2022-04-15 08:27:44,948 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 08:27:44" (3/3) ... [2022-04-15 08:27:44,958 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll_unwindbound50.c [2022-04-15 08:27:44,962 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 08:27:44,963 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 08:27:44,999 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 08:27:45,007 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-15 08:27:45,007 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 08:27:45,042 INFO L276 IsEmpty]: Start isEmpty. Operand has 35 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) [2022-04-15 08:27:45,052 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-15 08:27:45,053 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:27:45,053 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:27:45,054 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:27:45,063 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:27:45,063 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 1 times [2022-04-15 08:27:45,072 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:45,073 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [148594153] [2022-04-15 08:27:45,084 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:27:45,085 INFO L85 PathProgramCache]: Analyzing trace with hash 1226702723, now seen corresponding path program 2 times [2022-04-15 08:27:45,088 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:27:45,089 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [349385552] [2022-04-15 08:27:45,089 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:27:45,090 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:27:45,195 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:27:45,288 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 08:27:45,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:27:45,318 INFO L290 TraceCheckUtils]: 0: Hoare triple {51#(and (= ~counter~0 |old(~counter~0)|) (= |#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38#true} is VALID [2022-04-15 08:27:45,319 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-15 08:27:45,320 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-15 08:27:45,321 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 08:27:45,328 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:27:45,340 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-15 08:27:45,341 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-15 08:27:45,341 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-15 08:27:45,341 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-15 08:27:45,343 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 08:27:45,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:27:45,357 INFO L290 TraceCheckUtils]: 0: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-15 08:27:45,358 INFO L290 TraceCheckUtils]: 1: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-15 08:27:45,359 INFO L290 TraceCheckUtils]: 2: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-15 08:27:45,359 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-15 08:27:45,361 INFO L272 TraceCheckUtils]: 0: Hoare triple {38#true} call ULTIMATE.init(); {51#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 08:27:45,362 INFO L290 TraceCheckUtils]: 1: Hoare triple {51#(and (= ~counter~0 |old(~counter~0)|) (= |#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {38#true} is VALID [2022-04-15 08:27:45,362 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#true} assume true; {38#true} is VALID [2022-04-15 08:27:45,362 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#true} {38#true} #82#return; {38#true} is VALID [2022-04-15 08:27:45,363 INFO L272 TraceCheckUtils]: 4: Hoare triple {38#true} call #t~ret7 := main(); {38#true} is VALID [2022-04-15 08:27:45,364 INFO L290 TraceCheckUtils]: 5: Hoare triple {38#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {38#true} is VALID [2022-04-15 08:27:45,364 INFO L272 TraceCheckUtils]: 6: Hoare triple {38#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {38#true} is VALID [2022-04-15 08:27:45,364 INFO L290 TraceCheckUtils]: 7: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-15 08:27:45,365 INFO L290 TraceCheckUtils]: 8: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-15 08:27:45,365 INFO L290 TraceCheckUtils]: 9: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-15 08:27:45,365 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {39#false} {38#true} #64#return; {39#false} is VALID [2022-04-15 08:27:45,366 INFO L272 TraceCheckUtils]: 11: Hoare triple {39#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {38#true} is VALID [2022-04-15 08:27:45,366 INFO L290 TraceCheckUtils]: 12: Hoare triple {38#true} ~cond := #in~cond; {38#true} is VALID [2022-04-15 08:27:45,366 INFO L290 TraceCheckUtils]: 13: Hoare triple {38#true} assume 0 == ~cond;assume false; {39#false} is VALID [2022-04-15 08:27:45,367 INFO L290 TraceCheckUtils]: 14: Hoare triple {39#false} assume true; {39#false} is VALID [2022-04-15 08:27:45,367 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {39#false} {39#false} #66#return; {39#false} is VALID [2022-04-15 08:27:45,367 INFO L290 TraceCheckUtils]: 16: Hoare triple {39#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {39#false} is VALID [2022-04-15 08:27:45,368 INFO L290 TraceCheckUtils]: 17: Hoare triple {39#false} assume !true; {39#false} is VALID [2022-04-15 08:27:45,369 INFO L272 TraceCheckUtils]: 18: Hoare triple {39#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {39#false} is VALID [2022-04-15 08:27:45,369 INFO L290 TraceCheckUtils]: 19: Hoare triple {39#false} ~cond := #in~cond; {39#false} is VALID [2022-04-15 08:27:45,369 INFO L290 TraceCheckUtils]: 20: Hoare triple {39#false} assume 0 == ~cond; {39#false} is VALID [2022-04-15 08:27:45,369 INFO L290 TraceCheckUtils]: 21: Hoare triple {39#false} assume !false; {39#false} is VALID [2022-04-15 08:27:45,370 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 08:27:45,370 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:27:45,371 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [349385552] [2022-04-15 08:27:45,372 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [349385552] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:27:45,372 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:27:45,372 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 08:27:45,374 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:27:45,375 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [148594153] [2022-04-15 08:27:45,376 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [148594153] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:27:45,376 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:27:45,376 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 08:27:45,377 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2140655782] [2022-04-15 08:27:45,377 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:27:45,383 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-15 08:27:45,384 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:27:45,387 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 08:27:45,423 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:45,423 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 08:27:45,424 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:45,445 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 08:27:45,445 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 08:27:45,448 INFO L87 Difference]: Start difference. First operand has 35 states, 18 states have (on average 1.3888888888888888) internal successors, (25), 19 states have internal predecessors, (25), 11 states have call successors, (11), 4 states have call predecessors, (11), 4 states have return successors, (11), 11 states have call predecessors, (11), 11 states have call successors, (11) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 08:27:45,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:45,685 INFO L93 Difference]: Finished difference Result 64 states and 97 transitions. [2022-04-15 08:27:45,685 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 08:27:45,686 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-15 08:27:45,686 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:27:45,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 08:27:45,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-15 08:27:45,697 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 08:27:45,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 97 transitions. [2022-04-15 08:27:45,703 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 97 transitions. [2022-04-15 08:27:45,816 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:45,825 INFO L225 Difference]: With dead ends: 64 [2022-04-15 08:27:45,825 INFO L226 Difference]: Without dead ends: 31 [2022-04-15 08:27:45,828 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 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-15 08:27:45,831 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 10 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 20 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 20 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:27:45,832 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 45 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 20 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:27:45,846 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2022-04-15 08:27:45,860 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 30. [2022-04-15 08:27:45,860 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:27:45,861 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:27:45,862 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:27:45,862 INFO L87 Difference]: Start difference. First operand 31 states. Second operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:27:45,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:45,867 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-15 08:27:45,867 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-15 08:27:45,868 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:45,868 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:45,869 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 31 states. [2022-04-15 08:27:45,869 INFO L87 Difference]: Start difference. First operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 31 states. [2022-04-15 08:27:45,873 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:45,874 INFO L93 Difference]: Finished difference Result 31 states and 40 transitions. [2022-04-15 08:27:45,874 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 40 transitions. [2022-04-15 08:27:45,875 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:45,875 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:45,875 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:27:45,875 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:27:45,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 15 states have (on average 1.2666666666666666) internal successors, (19), 16 states have internal predecessors, (19), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:27:45,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 39 transitions. [2022-04-15 08:27:45,880 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 39 transitions. Word has length 22 [2022-04-15 08:27:45,880 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:27:45,880 INFO L478 AbstractCegarLoop]: Abstraction has 30 states and 39 transitions. [2022-04-15 08:27:45,881 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 08:27:45,881 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 30 states and 39 transitions. [2022-04-15 08:27:45,922 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:45,923 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 39 transitions. [2022-04-15 08:27:45,924 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 08:27:45,924 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:27:45,924 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:27:45,924 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 08:27:45,924 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:27:45,925 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:27:45,925 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 1 times [2022-04-15 08:27:45,925 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:45,926 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2001768183] [2022-04-15 08:27:45,926 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:27:45,926 INFO L85 PathProgramCache]: Analyzing trace with hash 1346542817, now seen corresponding path program 2 times [2022-04-15 08:27:45,926 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:27:45,927 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1275332311] [2022-04-15 08:27:45,927 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:27:45,927 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:27:45,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:27:46,056 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 08:27:46,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:27:46,077 INFO L290 TraceCheckUtils]: 0: Hoare triple {319#(and (= ~counter~0 |old(~counter~0)|) (= |#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {309#(= ~counter~0 0)} is VALID [2022-04-15 08:27:46,077 INFO L290 TraceCheckUtils]: 1: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-15 08:27:46,078 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-15 08:27:46,080 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 08:27:46,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:27:46,094 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-15 08:27:46,094 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-15 08:27:46,094 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-15 08:27:46,095 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-15 08:27:46,095 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 08:27:46,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:27:46,102 INFO L290 TraceCheckUtils]: 0: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-15 08:27:46,102 INFO L290 TraceCheckUtils]: 1: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-15 08:27:46,103 INFO L290 TraceCheckUtils]: 2: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-15 08:27:46,103 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-15 08:27:46,104 INFO L272 TraceCheckUtils]: 0: Hoare triple {304#true} call ULTIMATE.init(); {319#(and (= ~counter~0 |old(~counter~0)|) (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-15 08:27:46,104 INFO L290 TraceCheckUtils]: 1: Hoare triple {319#(and (= ~counter~0 |old(~counter~0)|) (= |#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {309#(= ~counter~0 0)} is VALID [2022-04-15 08:27:46,105 INFO L290 TraceCheckUtils]: 2: Hoare triple {309#(= ~counter~0 0)} assume true; {309#(= ~counter~0 0)} is VALID [2022-04-15 08:27:46,128 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {309#(= ~counter~0 0)} {304#true} #82#return; {309#(= ~counter~0 0)} is VALID [2022-04-15 08:27:46,129 INFO L272 TraceCheckUtils]: 4: Hoare triple {309#(= ~counter~0 0)} call #t~ret7 := main(); {309#(= ~counter~0 0)} is VALID [2022-04-15 08:27:46,129 INFO L290 TraceCheckUtils]: 5: Hoare triple {309#(= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {309#(= ~counter~0 0)} is VALID [2022-04-15 08:27:46,129 INFO L272 TraceCheckUtils]: 6: Hoare triple {309#(= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {304#true} is VALID [2022-04-15 08:27:46,129 INFO L290 TraceCheckUtils]: 7: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-15 08:27:46,130 INFO L290 TraceCheckUtils]: 8: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-15 08:27:46,130 INFO L290 TraceCheckUtils]: 9: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-15 08:27:46,130 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #64#return; {309#(= ~counter~0 0)} is VALID [2022-04-15 08:27:46,131 INFO L272 TraceCheckUtils]: 11: Hoare triple {309#(= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {304#true} is VALID [2022-04-15 08:27:46,131 INFO L290 TraceCheckUtils]: 12: Hoare triple {304#true} ~cond := #in~cond; {304#true} is VALID [2022-04-15 08:27:46,131 INFO L290 TraceCheckUtils]: 13: Hoare triple {304#true} assume !(0 == ~cond); {304#true} is VALID [2022-04-15 08:27:46,131 INFO L290 TraceCheckUtils]: 14: Hoare triple {304#true} assume true; {304#true} is VALID [2022-04-15 08:27:46,132 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {304#true} {309#(= ~counter~0 0)} #66#return; {309#(= ~counter~0 0)} is VALID [2022-04-15 08:27:46,132 INFO L290 TraceCheckUtils]: 16: Hoare triple {309#(= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {309#(= ~counter~0 0)} is VALID [2022-04-15 08:27:46,133 INFO L290 TraceCheckUtils]: 17: Hoare triple {309#(= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {318#(= |main_#t~post6| 0)} is VALID [2022-04-15 08:27:46,133 INFO L290 TraceCheckUtils]: 18: Hoare triple {318#(= |main_#t~post6| 0)} assume !(#t~post6 < 50);havoc #t~post6; {305#false} is VALID [2022-04-15 08:27:46,134 INFO L272 TraceCheckUtils]: 19: Hoare triple {305#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {305#false} is VALID [2022-04-15 08:27:46,134 INFO L290 TraceCheckUtils]: 20: Hoare triple {305#false} ~cond := #in~cond; {305#false} is VALID [2022-04-15 08:27:46,134 INFO L290 TraceCheckUtils]: 21: Hoare triple {305#false} assume 0 == ~cond; {305#false} is VALID [2022-04-15 08:27:46,134 INFO L290 TraceCheckUtils]: 22: Hoare triple {305#false} assume !false; {305#false} is VALID [2022-04-15 08:27:46,144 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 08:27:46,144 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:27:46,144 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1275332311] [2022-04-15 08:27:46,145 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1275332311] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:27:46,145 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:27:46,145 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:27:46,145 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:27:46,145 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2001768183] [2022-04-15 08:27:46,146 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2001768183] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:27:46,146 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:27:46,146 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:27:46,146 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1237796785] [2022-04-15 08:27:46,146 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:27:46,160 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-15 08:27:46,161 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:27:46,161 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 08:27:46,180 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:46,180 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:27:46,181 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:46,181 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:27:46,182 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 08:27:46,182 INFO L87 Difference]: Start difference. First operand 30 states and 39 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 08:27:46,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:46,419 INFO L93 Difference]: Finished difference Result 42 states and 54 transitions. [2022-04-15 08:27:46,419 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 08:27:46,419 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) Word has length 23 [2022-04-15 08:27:46,420 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:27:46,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 08:27:46,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-15 08:27:46,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 08:27:46,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2022-04-15 08:27:46,434 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2022-04-15 08:27:46,495 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-15 08:27:46,497 INFO L225 Difference]: With dead ends: 42 [2022-04-15 08:27:46,497 INFO L226 Difference]: Without dead ends: 32 [2022-04-15 08:27:46,497 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 8 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-15 08:27:46,498 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 13 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 69 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 08:27:46,499 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 65 Invalid, 69 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 08:27:46,500 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-04-15 08:27:46,505 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-04-15 08:27:46,505 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:27:46,505 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:27:46,506 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:27:46,506 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:27:46,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:46,509 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-15 08:27:46,509 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-15 08:27:46,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:46,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:46,510 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 32 states. [2022-04-15 08:27:46,511 INFO L87 Difference]: Start difference. First operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) Second operand 32 states. [2022-04-15 08:27:46,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:46,513 INFO L93 Difference]: Finished difference Result 32 states and 41 transitions. [2022-04-15 08:27:46,513 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-15 08:27:46,514 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:46,514 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:46,514 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:27:46,514 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:27:46,515 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 17 states have (on average 1.2352941176470589) internal successors, (21), 18 states have internal predecessors, (21), 11 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 9 states have call predecessors, (9), 9 states have call successors, (9) [2022-04-15 08:27:46,517 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 41 transitions. [2022-04-15 08:27:46,517 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 41 transitions. Word has length 23 [2022-04-15 08:27:46,517 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:27:46,517 INFO L478 AbstractCegarLoop]: Abstraction has 32 states and 41 transitions. [2022-04-15 08:27:46,517 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 3 states have call successors, (5), 4 states have call predecessors, (5), 2 states have return successors, (3), 1 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 08:27:46,518 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 32 states and 41 transitions. [2022-04-15 08:27:46,566 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:46,567 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 41 transitions. [2022-04-15 08:27:46,568 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-15 08:27:46,568 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:27:46,568 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:27:46,568 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-15 08:27:46,568 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:27:46,569 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:27:46,569 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 1 times [2022-04-15 08:27:46,569 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:46,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [690659361] [2022-04-15 08:27:46,570 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:27:46,570 INFO L85 PathProgramCache]: Analyzing trace with hash 1348211113, now seen corresponding path program 2 times [2022-04-15 08:27:46,570 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:27:46,570 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [264735424] [2022-04-15 08:27:46,571 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:27:46,571 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:27:46,588 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:27:46,589 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1934644448] [2022-04-15 08:27:46,589 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:27:46,589 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:27:46,589 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:27:46,595 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-15 08:27:46,623 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-15 08:27:46,659 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 08:27:46,659 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:27:46,661 INFO L263 TraceCheckSpWp]: Trace formula consists of 90 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 08:27:46,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:27:46,674 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:27:46,875 INFO L272 TraceCheckUtils]: 0: Hoare triple {537#true} call ULTIMATE.init(); {537#true} is VALID [2022-04-15 08:27:46,875 INFO L290 TraceCheckUtils]: 1: Hoare triple {537#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {537#true} is VALID [2022-04-15 08:27:46,876 INFO L290 TraceCheckUtils]: 2: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-15 08:27:46,876 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {537#true} {537#true} #82#return; {537#true} is VALID [2022-04-15 08:27:46,876 INFO L272 TraceCheckUtils]: 4: Hoare triple {537#true} call #t~ret7 := main(); {537#true} is VALID [2022-04-15 08:27:46,876 INFO L290 TraceCheckUtils]: 5: Hoare triple {537#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {537#true} is VALID [2022-04-15 08:27:46,876 INFO L272 TraceCheckUtils]: 6: Hoare triple {537#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {537#true} is VALID [2022-04-15 08:27:46,877 INFO L290 TraceCheckUtils]: 7: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-15 08:27:46,877 INFO L290 TraceCheckUtils]: 8: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-15 08:27:46,877 INFO L290 TraceCheckUtils]: 9: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-15 08:27:46,877 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {537#true} {537#true} #64#return; {537#true} is VALID [2022-04-15 08:27:46,877 INFO L272 TraceCheckUtils]: 11: Hoare triple {537#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {537#true} is VALID [2022-04-15 08:27:46,877 INFO L290 TraceCheckUtils]: 12: Hoare triple {537#true} ~cond := #in~cond; {537#true} is VALID [2022-04-15 08:27:46,878 INFO L290 TraceCheckUtils]: 13: Hoare triple {537#true} assume !(0 == ~cond); {537#true} is VALID [2022-04-15 08:27:46,878 INFO L290 TraceCheckUtils]: 14: Hoare triple {537#true} assume true; {537#true} is VALID [2022-04-15 08:27:46,878 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {537#true} {537#true} #66#return; {537#true} is VALID [2022-04-15 08:27:46,879 INFO L290 TraceCheckUtils]: 16: Hoare triple {537#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-15 08:27:46,879 INFO L290 TraceCheckUtils]: 17: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-15 08:27:46,880 INFO L290 TraceCheckUtils]: 18: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-15 08:27:46,881 INFO L272 TraceCheckUtils]: 19: Hoare triple {590#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {600#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:27:46,882 INFO L290 TraceCheckUtils]: 20: Hoare triple {600#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {604#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:27:46,882 INFO L290 TraceCheckUtils]: 21: Hoare triple {604#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {538#false} is VALID [2022-04-15 08:27:46,882 INFO L290 TraceCheckUtils]: 22: Hoare triple {538#false} assume !false; {538#false} is VALID [2022-04-15 08:27:46,883 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 08:27:46,883 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:27:46,883 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:27:46,883 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [264735424] [2022-04-15 08:27:46,883 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:27:46,884 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1934644448] [2022-04-15 08:27:46,884 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1934644448] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:27:46,884 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:27:46,884 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:27:46,885 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:27:46,885 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [690659361] [2022-04-15 08:27:46,885 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [690659361] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:27:46,885 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:27:46,885 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:27:46,885 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2112053904] [2022-04-15 08:27:46,885 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:27:46,886 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-15 08:27:46,886 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:27:46,886 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 08:27:46,917 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:46,917 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:27:46,917 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:46,918 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:27:46,918 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 08:27:46,918 INFO L87 Difference]: Start difference. First operand 32 states and 41 transitions. Second operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 08:27:47,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:47,140 INFO L93 Difference]: Finished difference Result 49 states and 66 transitions. [2022-04-15 08:27:47,140 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:27:47,141 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 23 [2022-04-15 08:27:47,141 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:27:47,142 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 08:27:47,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-15 08:27:47,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 08:27:47,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-15 08:27:47,155 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-15 08:27:47,210 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:47,212 INFO L225 Difference]: With dead ends: 49 [2022-04-15 08:27:47,213 INFO L226 Difference]: Without dead ends: 47 [2022-04-15 08:27:47,213 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 23 GetRequests, 19 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-15 08:27:47,219 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 8 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 44 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 46 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 44 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:27:47,224 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 136 Invalid, 46 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 44 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:27:47,225 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-15 08:27:47,245 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-15 08:27:47,246 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:27:47,247 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 08:27:47,248 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 08:27:47,250 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 08:27:47,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:47,256 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-15 08:27:47,256 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-15 08:27:47,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:47,257 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:47,258 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-15 08:27:47,258 INFO L87 Difference]: Start difference. First operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 47 states. [2022-04-15 08:27:47,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:47,261 INFO L93 Difference]: Finished difference Result 47 states and 64 transitions. [2022-04-15 08:27:47,261 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 64 transitions. [2022-04-15 08:27:47,262 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:47,262 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:47,262 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:27:47,262 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:27:47,262 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 24 states have (on average 1.2916666666666667) internal successors, (31), 26 states have internal predecessors, (31), 17 states have call successors, (17), 5 states have call predecessors, (17), 4 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 08:27:47,269 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 63 transitions. [2022-04-15 08:27:47,270 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 63 transitions. Word has length 23 [2022-04-15 08:27:47,270 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:27:47,270 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 63 transitions. [2022-04-15 08:27:47,270 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.4) internal successors, (12), 4 states have internal predecessors, (12), 2 states have call successors, (5), 2 states have call predecessors, (5), 1 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-04-15 08:27:47,271 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 63 transitions. [2022-04-15 08:27:47,346 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-15 08:27:47,346 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 63 transitions. [2022-04-15 08:27:47,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-15 08:27:47,349 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:27:47,349 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:27:47,377 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-15 08:27:47,565 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:27:47,566 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:27:47,566 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:27:47,567 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 1 times [2022-04-15 08:27:47,567 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:47,567 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2039462300] [2022-04-15 08:27:47,567 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:27:47,568 INFO L85 PathProgramCache]: Analyzing trace with hash -1060153012, now seen corresponding path program 2 times [2022-04-15 08:27:47,568 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:27:47,568 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [45285760] [2022-04-15 08:27:47,568 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:27:47,568 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:27:47,583 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:27:47,583 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1512816563] [2022-04-15 08:27:47,583 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:27:47,583 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:27:47,584 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:27:47,585 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-15 08:27:47,615 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-15 08:27:47,636 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:27:47,637 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:27:47,638 INFO L263 TraceCheckSpWp]: Trace formula consists of 108 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 08:27:47,647 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:27:47,648 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:27:47,829 INFO L272 TraceCheckUtils]: 0: Hoare triple {896#true} call ULTIMATE.init(); {896#true} is VALID [2022-04-15 08:27:47,829 INFO L290 TraceCheckUtils]: 1: Hoare triple {896#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {896#true} is VALID [2022-04-15 08:27:47,829 INFO L290 TraceCheckUtils]: 2: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-15 08:27:47,830 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {896#true} {896#true} #82#return; {896#true} is VALID [2022-04-15 08:27:47,830 INFO L272 TraceCheckUtils]: 4: Hoare triple {896#true} call #t~ret7 := main(); {896#true} is VALID [2022-04-15 08:27:47,830 INFO L290 TraceCheckUtils]: 5: Hoare triple {896#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {896#true} is VALID [2022-04-15 08:27:47,830 INFO L272 TraceCheckUtils]: 6: Hoare triple {896#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {896#true} is VALID [2022-04-15 08:27:47,830 INFO L290 TraceCheckUtils]: 7: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-15 08:27:47,830 INFO L290 TraceCheckUtils]: 8: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-15 08:27:47,831 INFO L290 TraceCheckUtils]: 9: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-15 08:27:47,833 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {896#true} {896#true} #64#return; {896#true} is VALID [2022-04-15 08:27:47,833 INFO L272 TraceCheckUtils]: 11: Hoare triple {896#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {896#true} is VALID [2022-04-15 08:27:47,833 INFO L290 TraceCheckUtils]: 12: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-15 08:27:47,833 INFO L290 TraceCheckUtils]: 13: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-15 08:27:47,834 INFO L290 TraceCheckUtils]: 14: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-15 08:27:47,835 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {896#true} {896#true} #66#return; {896#true} is VALID [2022-04-15 08:27:47,836 INFO L290 TraceCheckUtils]: 16: Hoare triple {896#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:27:47,836 INFO L290 TraceCheckUtils]: 17: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:27:47,837 INFO L290 TraceCheckUtils]: 18: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:27:47,838 INFO L272 TraceCheckUtils]: 19: Hoare triple {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {896#true} is VALID [2022-04-15 08:27:47,838 INFO L290 TraceCheckUtils]: 20: Hoare triple {896#true} ~cond := #in~cond; {896#true} is VALID [2022-04-15 08:27:47,839 INFO L290 TraceCheckUtils]: 21: Hoare triple {896#true} assume !(0 == ~cond); {896#true} is VALID [2022-04-15 08:27:47,839 INFO L290 TraceCheckUtils]: 22: Hoare triple {896#true} assume true; {896#true} is VALID [2022-04-15 08:27:47,841 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {896#true} {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {949#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:27:47,842 INFO L272 TraceCheckUtils]: 24: Hoare triple {949#(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)); {974#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:27:47,843 INFO L290 TraceCheckUtils]: 25: Hoare triple {974#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {978#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:27:47,852 INFO L290 TraceCheckUtils]: 26: Hoare triple {978#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {897#false} is VALID [2022-04-15 08:27:47,853 INFO L290 TraceCheckUtils]: 27: Hoare triple {897#false} assume !false; {897#false} is VALID [2022-04-15 08:27:47,853 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 08:27:47,854 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:27:47,854 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:27:47,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [45285760] [2022-04-15 08:27:47,854 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:27:47,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1512816563] [2022-04-15 08:27:47,854 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1512816563] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:27:47,854 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:27:47,855 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:27:47,855 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:27:47,855 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2039462300] [2022-04-15 08:27:47,855 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2039462300] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:27:47,855 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:27:47,855 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:27:47,855 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [703722046] [2022-04-15 08:27:47,855 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:27:47,856 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 08:27:47,856 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:27:47,856 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 08:27:47,875 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:47,875 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:27:47,876 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:47,876 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:27:47,876 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 08:27:47,877 INFO L87 Difference]: Start difference. First operand 46 states and 63 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 08:27:48,105 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:48,105 INFO L93 Difference]: Finished difference Result 53 states and 69 transitions. [2022-04-15 08:27:48,106 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:27:48,106 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) Word has length 28 [2022-04-15 08:27:48,107 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:27:48,107 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 08:27:48,109 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-15 08:27:48,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 08:27:48,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-15 08:27:48,128 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-15 08:27:48,184 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:48,188 INFO L225 Difference]: With dead ends: 53 [2022-04-15 08:27:48,188 INFO L226 Difference]: Without dead ends: 51 [2022-04-15 08:27:48,189 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 24 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-15 08:27:48,191 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 9 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 136 SdHoareTripleChecker+Invalid, 54 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:27:48,191 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 136 Invalid, 54 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:27:48,192 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2022-04-15 08:27:48,213 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 50. [2022-04-15 08:27:48,214 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:27:48,216 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 08:27:48,217 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 08:27:48,217 INFO L87 Difference]: Start difference. First operand 51 states. Second operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 08:27:48,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:48,220 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-15 08:27:48,220 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-15 08:27:48,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:48,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:48,225 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 51 states. [2022-04-15 08:27:48,225 INFO L87 Difference]: Start difference. First operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) Second operand 51 states. [2022-04-15 08:27:48,229 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:48,229 INFO L93 Difference]: Finished difference Result 51 states and 67 transitions. [2022-04-15 08:27:48,229 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 67 transitions. [2022-04-15 08:27:48,230 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:48,230 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:48,230 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:27:48,232 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:27:48,234 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 27 states have (on average 1.2592592592592593) internal successors, (34), 29 states have internal predecessors, (34), 17 states have call successors, (17), 6 states have call predecessors, (17), 5 states have return successors, (15), 14 states have call predecessors, (15), 15 states have call successors, (15) [2022-04-15 08:27:48,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 66 transitions. [2022-04-15 08:27:48,241 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 66 transitions. Word has length 28 [2022-04-15 08:27:48,242 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:27:48,243 INFO L478 AbstractCegarLoop]: Abstraction has 50 states and 66 transitions. [2022-04-15 08:27:48,243 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (6), 2 states have call predecessors, (6), 1 states have return successors, (4), 2 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-15 08:27:48,243 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 50 states and 66 transitions. [2022-04-15 08:27:48,315 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:48,316 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 66 transitions. [2022-04-15 08:27:48,316 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-15 08:27:48,316 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:27:48,317 INFO L499 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:27:48,339 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-15 08:27:48,531 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,SelfDestructingSolverStorable3 [2022-04-15 08:27:48,532 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:27:48,532 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:27:48,532 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 1 times [2022-04-15 08:27:48,532 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:48,532 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1977820826] [2022-04-15 08:27:48,533 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:27:48,533 INFO L85 PathProgramCache]: Analyzing trace with hash -560761015, now seen corresponding path program 2 times [2022-04-15 08:27:48,533 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:27:48,533 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [404614098] [2022-04-15 08:27:48,534 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:27:48,534 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:27:48,563 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:27:48,563 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [561198689] [2022-04-15 08:27:48,563 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:27:48,563 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:27:48,564 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:27:48,571 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-15 08:27:48,572 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-15 08:27:48,620 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:27:48,620 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:27:48,621 INFO L263 TraceCheckSpWp]: Trace formula consists of 117 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 08:27:48,640 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:27:48,642 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:27:48,881 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-15 08:27:48,882 INFO L290 TraceCheckUtils]: 1: Hoare triple {1294#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1294#true} is VALID [2022-04-15 08:27:48,882 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 08:27:48,882 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-15 08:27:48,882 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-15 08:27:48,882 INFO L290 TraceCheckUtils]: 5: Hoare triple {1294#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1294#true} is VALID [2022-04-15 08:27:48,883 INFO L272 TraceCheckUtils]: 6: Hoare triple {1294#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-15 08:27:48,883 INFO L290 TraceCheckUtils]: 7: Hoare triple {1294#true} ~cond := #in~cond; {1320#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:27:48,883 INFO L290 TraceCheckUtils]: 8: Hoare triple {1320#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1324#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:27:48,884 INFO L290 TraceCheckUtils]: 9: Hoare triple {1324#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1324#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:27:48,884 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1324#(not (= |assume_abort_if_not_#in~cond| 0))} {1294#true} #64#return; {1331#(<= 1 main_~x~0)} is VALID [2022-04-15 08:27:48,885 INFO L272 TraceCheckUtils]: 11: Hoare triple {1331#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-15 08:27:48,885 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-15 08:27:48,885 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-15 08:27:48,885 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 08:27:48,886 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1331#(<= 1 main_~x~0)} #66#return; {1331#(<= 1 main_~x~0)} is VALID [2022-04-15 08:27:48,886 INFO L290 TraceCheckUtils]: 16: Hoare triple {1331#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:27:48,887 INFO L290 TraceCheckUtils]: 17: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:27:48,887 INFO L290 TraceCheckUtils]: 18: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:27:48,888 INFO L272 TraceCheckUtils]: 19: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1294#true} is VALID [2022-04-15 08:27:48,888 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-15 08:27:48,888 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-15 08:27:48,888 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 08:27:48,889 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1294#true} {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:27:48,889 INFO L272 TraceCheckUtils]: 24: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~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)); {1294#true} is VALID [2022-04-15 08:27:48,889 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-15 08:27:48,889 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-15 08:27:48,890 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 08:27:48,890 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1294#true} {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:27:48,891 INFO L272 TraceCheckUtils]: 29: Hoare triple {1350#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~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)); {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:27:48,892 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:27:48,892 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-15 08:27:48,892 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-15 08:27:48,893 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 08:27:48,893 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:27:49,114 INFO L290 TraceCheckUtils]: 32: Hoare triple {1295#false} assume !false; {1295#false} is VALID [2022-04-15 08:27:49,115 INFO L290 TraceCheckUtils]: 31: Hoare triple {1394#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1295#false} is VALID [2022-04-15 08:27:49,116 INFO L290 TraceCheckUtils]: 30: Hoare triple {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1394#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:27:49,116 INFO L272 TraceCheckUtils]: 29: Hoare triple {1410#(= 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)); {1390#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:27:49,117 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1294#true} {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:27:49,117 INFO L290 TraceCheckUtils]: 27: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 08:27:49,118 INFO L290 TraceCheckUtils]: 26: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-15 08:27:49,118 INFO L290 TraceCheckUtils]: 25: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-15 08:27:49,118 INFO L272 TraceCheckUtils]: 24: Hoare triple {1410#(= 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)); {1294#true} is VALID [2022-04-15 08:27:49,118 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1294#true} {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:27:49,119 INFO L290 TraceCheckUtils]: 22: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 08:27:49,119 INFO L290 TraceCheckUtils]: 21: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-15 08:27:49,119 INFO L290 TraceCheckUtils]: 20: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-15 08:27:49,119 INFO L272 TraceCheckUtils]: 19: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1294#true} is VALID [2022-04-15 08:27:49,120 INFO L290 TraceCheckUtils]: 18: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:27:49,120 INFO L290 TraceCheckUtils]: 17: Hoare triple {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:27:49,121 INFO L290 TraceCheckUtils]: 16: Hoare triple {1294#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1410#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:27:49,121 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1294#true} {1294#true} #66#return; {1294#true} is VALID [2022-04-15 08:27:49,121 INFO L290 TraceCheckUtils]: 14: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 08:27:49,121 INFO L290 TraceCheckUtils]: 13: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-15 08:27:49,121 INFO L290 TraceCheckUtils]: 12: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-15 08:27:49,121 INFO L272 TraceCheckUtils]: 11: Hoare triple {1294#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-15 08:27:49,121 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1294#true} {1294#true} #64#return; {1294#true} is VALID [2022-04-15 08:27:49,122 INFO L290 TraceCheckUtils]: 9: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 08:27:49,122 INFO L290 TraceCheckUtils]: 8: Hoare triple {1294#true} assume !(0 == ~cond); {1294#true} is VALID [2022-04-15 08:27:49,122 INFO L290 TraceCheckUtils]: 7: Hoare triple {1294#true} ~cond := #in~cond; {1294#true} is VALID [2022-04-15 08:27:49,122 INFO L272 TraceCheckUtils]: 6: Hoare triple {1294#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1294#true} is VALID [2022-04-15 08:27:49,122 INFO L290 TraceCheckUtils]: 5: Hoare triple {1294#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1294#true} is VALID [2022-04-15 08:27:49,122 INFO L272 TraceCheckUtils]: 4: Hoare triple {1294#true} call #t~ret7 := main(); {1294#true} is VALID [2022-04-15 08:27:49,122 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1294#true} {1294#true} #82#return; {1294#true} is VALID [2022-04-15 08:27:49,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {1294#true} assume true; {1294#true} is VALID [2022-04-15 08:27:49,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {1294#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1294#true} is VALID [2022-04-15 08:27:49,123 INFO L272 TraceCheckUtils]: 0: Hoare triple {1294#true} call ULTIMATE.init(); {1294#true} is VALID [2022-04-15 08:27:49,123 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 08:27:49,123 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:27:49,123 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [404614098] [2022-04-15 08:27:49,124 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:27:49,124 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [561198689] [2022-04-15 08:27:49,124 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [561198689] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 08:27:49,124 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 08:27:49,124 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-15 08:27:49,124 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:27:49,124 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1977820826] [2022-04-15 08:27:49,125 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1977820826] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:27:49,125 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:27:49,125 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:27:49,125 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1737930744] [2022-04-15 08:27:49,125 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:27:49,126 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 08:27:49,126 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:27:49,126 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:27:49,148 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:49,148 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:27:49,148 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:49,149 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:27:49,149 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-15 08:27:49,149 INFO L87 Difference]: Start difference. First operand 50 states and 66 transitions. Second operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:27:49,394 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:49,394 INFO L93 Difference]: Finished difference Result 75 states and 107 transitions. [2022-04-15 08:27:49,394 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:27:49,394 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) Word has length 33 [2022-04-15 08:27:49,395 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:27:49,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:27:49,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-15 08:27:49,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:27:49,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 64 transitions. [2022-04-15 08:27:49,398 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 64 transitions. [2022-04-15 08:27:49,454 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:49,456 INFO L225 Difference]: With dead ends: 75 [2022-04-15 08:27:49,456 INFO L226 Difference]: Without dead ends: 71 [2022-04-15 08:27:49,456 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 57 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-15 08:27:49,457 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 9 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 51 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:27:49,457 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 128 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:27:49,458 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-15 08:27:49,478 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-15 08:27:49,479 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:27:49,479 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 08:27:49,480 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 08:27:49,480 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 08:27:49,483 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:49,484 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-15 08:27:49,484 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-15 08:27:49,484 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:49,484 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:49,485 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-15 08:27:49,485 INFO L87 Difference]: Start difference. First operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-15 08:27:49,488 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:49,489 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-15 08:27:49,489 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-15 08:27:49,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:49,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:49,489 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:27:49,489 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:27:49,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 36 states have (on average 1.3333333333333333) internal successors, (48), 40 states have internal predecessors, (48), 28 states have call successors, (28), 7 states have call predecessors, (28), 6 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-15 08:27:49,493 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 100 transitions. [2022-04-15 08:27:49,493 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 100 transitions. Word has length 33 [2022-04-15 08:27:49,493 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:27:49,494 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 100 transitions. [2022-04-15 08:27:49,494 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.0) internal successors, (15), 4 states have internal predecessors, (15), 2 states have call successors, (7), 2 states have call predecessors, (7), 1 states have return successors, (5), 2 states have call predecessors, (5), 2 states have call successors, (5) [2022-04-15 08:27:49,494 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 100 transitions. [2022-04-15 08:27:49,601 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:49,602 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 100 transitions. [2022-04-15 08:27:49,604 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-04-15 08:27:49,604 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:27:49,604 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:27:49,632 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-15 08:27:49,805 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:27:49,805 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:27:49,806 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:27:49,806 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 1 times [2022-04-15 08:27:49,806 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:49,806 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1338184757] [2022-04-15 08:27:49,806 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:27:49,806 INFO L85 PathProgramCache]: Analyzing trace with hash 201438379, now seen corresponding path program 2 times [2022-04-15 08:27:49,806 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:27:49,807 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1493402174] [2022-04-15 08:27:49,807 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:27:49,807 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:27:49,818 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:27:49,818 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1856559515] [2022-04-15 08:27:49,818 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:27:49,818 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:27:49,819 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:27:49,820 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-15 08:27:49,839 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-15 08:27:49,867 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:27:49,867 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:27:49,868 INFO L263 TraceCheckSpWp]: Trace formula consists of 128 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 08:27:49,878 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:27:49,880 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:27:49,981 INFO L272 TraceCheckUtils]: 0: Hoare triple {1936#true} call ULTIMATE.init(); {1936#true} is VALID [2022-04-15 08:27:49,982 INFO L290 TraceCheckUtils]: 1: Hoare triple {1936#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {1936#true} is VALID [2022-04-15 08:27:49,982 INFO L290 TraceCheckUtils]: 2: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-15 08:27:49,982 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1936#true} {1936#true} #82#return; {1936#true} is VALID [2022-04-15 08:27:49,982 INFO L272 TraceCheckUtils]: 4: Hoare triple {1936#true} call #t~ret7 := main(); {1936#true} is VALID [2022-04-15 08:27:49,982 INFO L290 TraceCheckUtils]: 5: Hoare triple {1936#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {1936#true} is VALID [2022-04-15 08:27:49,982 INFO L272 TraceCheckUtils]: 6: Hoare triple {1936#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1936#true} is VALID [2022-04-15 08:27:49,982 INFO L290 TraceCheckUtils]: 7: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-15 08:27:49,983 INFO L290 TraceCheckUtils]: 8: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-15 08:27:49,983 INFO L290 TraceCheckUtils]: 9: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-15 08:27:49,983 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1936#true} {1936#true} #64#return; {1936#true} is VALID [2022-04-15 08:27:49,983 INFO L272 TraceCheckUtils]: 11: Hoare triple {1936#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1936#true} is VALID [2022-04-15 08:27:49,983 INFO L290 TraceCheckUtils]: 12: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-15 08:27:49,983 INFO L290 TraceCheckUtils]: 13: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-15 08:27:49,983 INFO L290 TraceCheckUtils]: 14: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-15 08:27:49,984 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1936#true} {1936#true} #66#return; {1936#true} is VALID [2022-04-15 08:27:49,984 INFO L290 TraceCheckUtils]: 16: Hoare triple {1936#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1936#true} is VALID [2022-04-15 08:27:49,984 INFO L290 TraceCheckUtils]: 17: Hoare triple {1936#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {1936#true} is VALID [2022-04-15 08:27:49,984 INFO L290 TraceCheckUtils]: 18: Hoare triple {1936#true} assume !!(#t~post6 < 50);havoc #t~post6; {1936#true} is VALID [2022-04-15 08:27:49,984 INFO L272 TraceCheckUtils]: 19: Hoare triple {1936#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1936#true} is VALID [2022-04-15 08:27:49,984 INFO L290 TraceCheckUtils]: 20: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-15 08:27:49,984 INFO L290 TraceCheckUtils]: 21: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-15 08:27:49,985 INFO L290 TraceCheckUtils]: 22: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-15 08:27:49,985 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1936#true} {1936#true} #68#return; {1936#true} is VALID [2022-04-15 08:27:49,985 INFO L272 TraceCheckUtils]: 24: Hoare triple {1936#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1936#true} is VALID [2022-04-15 08:27:49,985 INFO L290 TraceCheckUtils]: 25: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-15 08:27:49,985 INFO L290 TraceCheckUtils]: 26: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-15 08:27:49,985 INFO L290 TraceCheckUtils]: 27: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-15 08:27:49,985 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1936#true} {1936#true} #70#return; {1936#true} is VALID [2022-04-15 08:27:49,985 INFO L272 TraceCheckUtils]: 29: Hoare triple {1936#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1936#true} is VALID [2022-04-15 08:27:49,986 INFO L290 TraceCheckUtils]: 30: Hoare triple {1936#true} ~cond := #in~cond; {1936#true} is VALID [2022-04-15 08:27:49,986 INFO L290 TraceCheckUtils]: 31: Hoare triple {1936#true} assume !(0 == ~cond); {1936#true} is VALID [2022-04-15 08:27:49,986 INFO L290 TraceCheckUtils]: 32: Hoare triple {1936#true} assume true; {1936#true} is VALID [2022-04-15 08:27:49,986 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1936#true} {1936#true} #72#return; {1936#true} is VALID [2022-04-15 08:27:49,987 INFO L290 TraceCheckUtils]: 34: Hoare triple {1936#true} assume !(~a~0 != ~b~0); {2043#(= main_~b~0 main_~a~0)} is VALID [2022-04-15 08:27:49,988 INFO L272 TraceCheckUtils]: 35: Hoare triple {2043#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2047#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:27:49,988 INFO L290 TraceCheckUtils]: 36: Hoare triple {2047#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2051#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:27:49,989 INFO L290 TraceCheckUtils]: 37: Hoare triple {2051#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1937#false} is VALID [2022-04-15 08:27:49,989 INFO L290 TraceCheckUtils]: 38: Hoare triple {1937#false} assume !false; {1937#false} is VALID [2022-04-15 08:27:49,989 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 08:27:49,989 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:27:49,989 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:27:49,989 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1493402174] [2022-04-15 08:27:49,990 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:27:49,990 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1856559515] [2022-04-15 08:27:49,990 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1856559515] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:27:49,990 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:27:49,990 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:27:49,990 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:27:49,990 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1338184757] [2022-04-15 08:27:49,990 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1338184757] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:27:49,990 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:27:49,991 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:27:49,991 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [710153616] [2022-04-15 08:27:49,991 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:27:49,991 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 39 [2022-04-15 08:27:49,991 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:27:49,992 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 08:27:50,015 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-15 08:27:50,016 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:27:50,016 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:50,016 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:27:50,016 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 08:27:50,017 INFO L87 Difference]: Start difference. First operand 71 states and 100 transitions. Second operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 08:27:50,244 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:50,244 INFO L93 Difference]: Finished difference Result 87 states and 123 transitions. [2022-04-15 08:27:50,244 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:27:50,245 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) Word has length 39 [2022-04-15 08:27:50,245 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:27:50,245 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 08:27:50,246 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-15 08:27:50,247 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 08:27:50,248 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-15 08:27:50,248 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-15 08:27:50,289 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-15 08:27:50,292 INFO L225 Difference]: With dead ends: 87 [2022-04-15 08:27:50,292 INFO L226 Difference]: Without dead ends: 85 [2022-04-15 08:27:50,292 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 39 GetRequests, 35 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-15 08:27:50,293 INFO L913 BasicCegarLoop]: 44 mSDtfsCounter, 5 mSDsluCounter, 100 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 34 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:27:50,293 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 144 Invalid, 34 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:27:50,293 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2022-04-15 08:27:50,318 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 78. [2022-04-15 08:27:50,318 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:27:50,319 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-15 08:27:50,319 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-15 08:27:50,320 INFO L87 Difference]: Start difference. First operand 85 states. Second operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-15 08:27:50,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:50,324 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-15 08:27:50,324 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-15 08:27:50,324 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:50,325 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:50,325 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 85 states. [2022-04-15 08:27:50,325 INFO L87 Difference]: Start difference. First operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 85 states. [2022-04-15 08:27:50,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:50,330 INFO L93 Difference]: Finished difference Result 85 states and 121 transitions. [2022-04-15 08:27:50,330 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 121 transitions. [2022-04-15 08:27:50,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:50,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:50,331 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:27:50,331 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:27:50,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 39 states have (on average 1.3076923076923077) internal successors, (51), 46 states have internal predecessors, (51), 31 states have call successors, (31), 8 states have call predecessors, (31), 7 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-15 08:27:50,334 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 109 transitions. [2022-04-15 08:27:50,335 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 109 transitions. Word has length 39 [2022-04-15 08:27:50,335 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:27:50,335 INFO L478 AbstractCegarLoop]: Abstraction has 78 states and 109 transitions. [2022-04-15 08:27:50,335 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 4.0) internal successors, (16), 4 states have internal predecessors, (16), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 1 states have call predecessors, (6), 1 states have call successors, (6) [2022-04-15 08:27:50,335 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 78 states and 109 transitions. [2022-04-15 08:27:50,461 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:50,461 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 109 transitions. [2022-04-15 08:27:50,462 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 08:27:50,462 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:27:50,462 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:27:50,482 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-15 08:27:50,667 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:27:50,667 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:27:50,668 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:27:50,668 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 1 times [2022-04-15 08:27:50,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:50,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [403102290] [2022-04-15 08:27:50,668 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:27:50,669 INFO L85 PathProgramCache]: Analyzing trace with hash -1085077998, now seen corresponding path program 2 times [2022-04-15 08:27:50,669 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:27:50,669 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1024424071] [2022-04-15 08:27:50,669 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:27:50,669 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:27:50,681 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:27:50,681 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2035519370] [2022-04-15 08:27:50,681 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:27:50,681 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:27:50,682 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:27:50,683 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-15 08:27:50,695 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-15 08:27:50,746 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:27:50,746 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:27:50,747 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 7 conjunts are in the unsatisfiable core [2022-04-15 08:27:50,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:27:50,763 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:27:50,965 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-15 08:27:50,966 INFO L290 TraceCheckUtils]: 1: Hoare triple {2559#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,966 INFO L290 TraceCheckUtils]: 2: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,967 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2567#(<= ~counter~0 0)} {2559#true} #82#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,967 INFO L272 TraceCheckUtils]: 4: Hoare triple {2567#(<= ~counter~0 0)} call #t~ret7 := main(); {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,967 INFO L290 TraceCheckUtils]: 5: Hoare triple {2567#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,968 INFO L272 TraceCheckUtils]: 6: Hoare triple {2567#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,969 INFO L290 TraceCheckUtils]: 7: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,970 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #64#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,970 INFO L272 TraceCheckUtils]: 11: Hoare triple {2567#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,970 INFO L290 TraceCheckUtils]: 12: Hoare triple {2567#(<= ~counter~0 0)} ~cond := #in~cond; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,971 INFO L290 TraceCheckUtils]: 13: Hoare triple {2567#(<= ~counter~0 0)} assume !(0 == ~cond); {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,971 INFO L290 TraceCheckUtils]: 14: Hoare triple {2567#(<= ~counter~0 0)} assume true; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,972 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2567#(<= ~counter~0 0)} {2567#(<= ~counter~0 0)} #66#return; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,972 INFO L290 TraceCheckUtils]: 16: Hoare triple {2567#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2567#(<= ~counter~0 0)} is VALID [2022-04-15 08:27:50,976 INFO L290 TraceCheckUtils]: 17: Hoare triple {2567#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,979 INFO L290 TraceCheckUtils]: 18: Hoare triple {2616#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,981 INFO L272 TraceCheckUtils]: 19: Hoare triple {2616#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,985 INFO L290 TraceCheckUtils]: 20: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,987 INFO L290 TraceCheckUtils]: 21: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,989 INFO L290 TraceCheckUtils]: 22: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,990 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #68#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,990 INFO L272 TraceCheckUtils]: 24: Hoare triple {2616#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,991 INFO L290 TraceCheckUtils]: 25: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,991 INFO L290 TraceCheckUtils]: 26: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,992 INFO L290 TraceCheckUtils]: 27: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,993 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #70#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,994 INFO L272 TraceCheckUtils]: 29: Hoare triple {2616#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,994 INFO L290 TraceCheckUtils]: 30: Hoare triple {2616#(<= ~counter~0 1)} ~cond := #in~cond; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,995 INFO L290 TraceCheckUtils]: 31: Hoare triple {2616#(<= ~counter~0 1)} assume !(0 == ~cond); {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,998 INFO L290 TraceCheckUtils]: 32: Hoare triple {2616#(<= ~counter~0 1)} assume true; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,999 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2616#(<= ~counter~0 1)} {2616#(<= ~counter~0 1)} #72#return; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:50,999 INFO L290 TraceCheckUtils]: 34: Hoare triple {2616#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:51,000 INFO L290 TraceCheckUtils]: 35: Hoare triple {2616#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2616#(<= ~counter~0 1)} is VALID [2022-04-15 08:27:51,000 INFO L290 TraceCheckUtils]: 36: Hoare triple {2616#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2674#(<= |main_#t~post6| 1)} is VALID [2022-04-15 08:27:51,001 INFO L290 TraceCheckUtils]: 37: Hoare triple {2674#(<= |main_#t~post6| 1)} assume !(#t~post6 < 50);havoc #t~post6; {2560#false} is VALID [2022-04-15 08:27:51,001 INFO L272 TraceCheckUtils]: 38: Hoare triple {2560#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2560#false} is VALID [2022-04-15 08:27:51,001 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-15 08:27:51,001 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-15 08:27:51,001 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-15 08:27:51,001 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 08:27:51,001 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:27:51,200 INFO L290 TraceCheckUtils]: 41: Hoare triple {2560#false} assume !false; {2560#false} is VALID [2022-04-15 08:27:51,200 INFO L290 TraceCheckUtils]: 40: Hoare triple {2560#false} assume 0 == ~cond; {2560#false} is VALID [2022-04-15 08:27:51,200 INFO L290 TraceCheckUtils]: 39: Hoare triple {2560#false} ~cond := #in~cond; {2560#false} is VALID [2022-04-15 08:27:51,200 INFO L272 TraceCheckUtils]: 38: Hoare triple {2560#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {2560#false} is VALID [2022-04-15 08:27:51,201 INFO L290 TraceCheckUtils]: 37: Hoare triple {2702#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {2560#false} is VALID [2022-04-15 08:27:51,201 INFO L290 TraceCheckUtils]: 36: Hoare triple {2706#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2702#(< |main_#t~post6| 50)} is VALID [2022-04-15 08:27:51,201 INFO L290 TraceCheckUtils]: 35: Hoare triple {2706#(< ~counter~0 50)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {2706#(< ~counter~0 50)} is VALID [2022-04-15 08:27:51,202 INFO L290 TraceCheckUtils]: 34: Hoare triple {2706#(< ~counter~0 50)} assume !!(~a~0 != ~b~0); {2706#(< ~counter~0 50)} is VALID [2022-04-15 08:27:51,202 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2559#true} {2706#(< ~counter~0 50)} #72#return; {2706#(< ~counter~0 50)} is VALID [2022-04-15 08:27:51,203 INFO L290 TraceCheckUtils]: 32: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-15 08:27:51,203 INFO L290 TraceCheckUtils]: 31: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-15 08:27:51,203 INFO L290 TraceCheckUtils]: 30: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-15 08:27:51,203 INFO L272 TraceCheckUtils]: 29: Hoare triple {2706#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {2559#true} is VALID [2022-04-15 08:27:51,204 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2559#true} {2706#(< ~counter~0 50)} #70#return; {2706#(< ~counter~0 50)} is VALID [2022-04-15 08:27:51,204 INFO L290 TraceCheckUtils]: 27: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-15 08:27:51,204 INFO L290 TraceCheckUtils]: 26: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-15 08:27:51,204 INFO L290 TraceCheckUtils]: 25: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-15 08:27:51,204 INFO L272 TraceCheckUtils]: 24: Hoare triple {2706#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2559#true} is VALID [2022-04-15 08:27:51,205 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2559#true} {2706#(< ~counter~0 50)} #68#return; {2706#(< ~counter~0 50)} is VALID [2022-04-15 08:27:51,205 INFO L290 TraceCheckUtils]: 22: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-15 08:27:51,205 INFO L290 TraceCheckUtils]: 21: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-15 08:27:51,205 INFO L290 TraceCheckUtils]: 20: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-15 08:27:51,205 INFO L272 TraceCheckUtils]: 19: Hoare triple {2706#(< ~counter~0 50)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2559#true} is VALID [2022-04-15 08:27:51,205 INFO L290 TraceCheckUtils]: 18: Hoare triple {2706#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {2706#(< ~counter~0 50)} is VALID [2022-04-15 08:27:51,206 INFO L290 TraceCheckUtils]: 17: Hoare triple {2764#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {2706#(< ~counter~0 50)} is VALID [2022-04-15 08:27:51,206 INFO L290 TraceCheckUtils]: 16: Hoare triple {2764#(< ~counter~0 49)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2764#(< ~counter~0 49)} is VALID [2022-04-15 08:27:51,207 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2559#true} {2764#(< ~counter~0 49)} #66#return; {2764#(< ~counter~0 49)} is VALID [2022-04-15 08:27:51,207 INFO L290 TraceCheckUtils]: 14: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-15 08:27:51,207 INFO L290 TraceCheckUtils]: 13: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-15 08:27:51,207 INFO L290 TraceCheckUtils]: 12: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-15 08:27:51,207 INFO L272 TraceCheckUtils]: 11: Hoare triple {2764#(< ~counter~0 49)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-15 08:27:51,208 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2559#true} {2764#(< ~counter~0 49)} #64#return; {2764#(< ~counter~0 49)} is VALID [2022-04-15 08:27:51,208 INFO L290 TraceCheckUtils]: 9: Hoare triple {2559#true} assume true; {2559#true} is VALID [2022-04-15 08:27:51,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {2559#true} assume !(0 == ~cond); {2559#true} is VALID [2022-04-15 08:27:51,208 INFO L290 TraceCheckUtils]: 7: Hoare triple {2559#true} ~cond := #in~cond; {2559#true} is VALID [2022-04-15 08:27:51,208 INFO L272 TraceCheckUtils]: 6: Hoare triple {2764#(< ~counter~0 49)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2559#true} is VALID [2022-04-15 08:27:51,209 INFO L290 TraceCheckUtils]: 5: Hoare triple {2764#(< ~counter~0 49)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {2764#(< ~counter~0 49)} is VALID [2022-04-15 08:27:51,209 INFO L272 TraceCheckUtils]: 4: Hoare triple {2764#(< ~counter~0 49)} call #t~ret7 := main(); {2764#(< ~counter~0 49)} is VALID [2022-04-15 08:27:51,209 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2764#(< ~counter~0 49)} {2559#true} #82#return; {2764#(< ~counter~0 49)} is VALID [2022-04-15 08:27:51,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {2764#(< ~counter~0 49)} assume true; {2764#(< ~counter~0 49)} is VALID [2022-04-15 08:27:51,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {2559#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {2764#(< ~counter~0 49)} is VALID [2022-04-15 08:27:51,210 INFO L272 TraceCheckUtils]: 0: Hoare triple {2559#true} call ULTIMATE.init(); {2559#true} is VALID [2022-04-15 08:27:51,211 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 08:27:51,211 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:27:51,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1024424071] [2022-04-15 08:27:51,211 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:27:51,211 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2035519370] [2022-04-15 08:27:51,211 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2035519370] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:27:51,211 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:27:51,212 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5] total 8 [2022-04-15 08:27:51,212 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:27:51,212 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [403102290] [2022-04-15 08:27:51,212 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [403102290] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:27:51,212 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:27:51,212 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:27:51,212 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [969581544] [2022-04-15 08:27:51,212 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:27:51,213 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 42 [2022-04-15 08:27:51,213 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:27:51,213 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 08:27:51,245 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:51,245 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:27:51,245 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:51,246 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:27:51,246 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=36, Unknown=0, NotChecked=0, Total=56 [2022-04-15 08:27:51,246 INFO L87 Difference]: Start difference. First operand 78 states and 109 transitions. Second operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 08:27:51,433 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:51,433 INFO L93 Difference]: Finished difference Result 121 states and 152 transitions. [2022-04-15 08:27:51,433 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 08:27:51,434 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) Word has length 42 [2022-04-15 08:27:51,434 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:27:51,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 08:27:51,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-15 08:27:51,436 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 08:27:51,437 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2022-04-15 08:27:51,437 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2022-04-15 08:27:51,496 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-15 08:27:51,499 INFO L225 Difference]: With dead ends: 121 [2022-04-15 08:27:51,499 INFO L226 Difference]: Without dead ends: 102 [2022-04-15 08:27:51,499 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 77 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=27, Invalid=45, Unknown=0, NotChecked=0, Total=72 [2022-04-15 08:27:51,500 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 13 mSDsluCounter, 75 mSDsCounter, 0 mSdLazyCounter, 18 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 118 SdHoareTripleChecker+Invalid, 25 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 18 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:27:51,500 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 118 Invalid, 25 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 18 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:27:51,501 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 102 states. [2022-04-15 08:27:51,561 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 102 to 100. [2022-04-15 08:27:51,562 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:27:51,562 INFO L82 GeneralOperation]: Start isEquivalent. First operand 102 states. Second operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-15 08:27:51,562 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-15 08:27:51,563 INFO L87 Difference]: Start difference. First operand 102 states. Second operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-15 08:27:51,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:51,567 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-15 08:27:51,567 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-15 08:27:51,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:51,568 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:51,568 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 102 states. [2022-04-15 08:27:51,568 INFO L87 Difference]: Start difference. First operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) Second operand 102 states. [2022-04-15 08:27:51,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:51,573 INFO L93 Difference]: Finished difference Result 102 states and 128 transitions. [2022-04-15 08:27:51,573 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 128 transitions. [2022-04-15 08:27:51,573 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:51,573 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:51,574 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:27:51,574 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:27:51,574 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 57 states have (on average 1.2105263157894737) internal successors, (69), 63 states have internal predecessors, (69), 31 states have call successors, (31), 13 states have call predecessors, (31), 11 states have return successors, (27), 23 states have call predecessors, (27), 27 states have call successors, (27) [2022-04-15 08:27:51,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 127 transitions. [2022-04-15 08:27:51,578 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 127 transitions. Word has length 42 [2022-04-15 08:27:51,578 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:27:51,579 INFO L478 AbstractCegarLoop]: Abstraction has 100 states and 127 transitions. [2022-04-15 08:27:51,579 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.8) internal successors, (19), 4 states have internal predecessors, (19), 4 states have call successors, (8), 4 states have call predecessors, (8), 2 states have return successors, (6), 2 states have call predecessors, (6), 3 states have call successors, (6) [2022-04-15 08:27:51,579 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 127 transitions. [2022-04-15 08:27:51,715 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:51,715 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 127 transitions. [2022-04-15 08:27:51,716 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-04-15 08:27:51,716 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:27:51,716 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 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] [2022-04-15 08:27:51,743 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-15 08:27:51,916 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:27:51,917 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:27:51,917 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:27:51,917 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 1 times [2022-04-15 08:27:51,917 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:51,917 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1730046910] [2022-04-15 08:27:51,918 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:27:51,918 INFO L85 PathProgramCache]: Analyzing trace with hash -1083409702, now seen corresponding path program 2 times [2022-04-15 08:27:51,918 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:27:51,918 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2130867335] [2022-04-15 08:27:51,918 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:27:51,918 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:27:51,931 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:27:51,931 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1461826629] [2022-04-15 08:27:51,931 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:27:51,932 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:27:51,932 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:27:51,938 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-15 08:27:51,942 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-15 08:27:51,982 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:27:51,982 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:27:51,983 INFO L263 TraceCheckSpWp]: Trace formula consists of 139 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 08:27:51,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:27:51,993 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:27:52,232 INFO L272 TraceCheckUtils]: 0: Hoare triple {3466#true} call ULTIMATE.init(); {3466#true} is VALID [2022-04-15 08:27:52,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {3466#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {3466#true} is VALID [2022-04-15 08:27:52,233 INFO L290 TraceCheckUtils]: 2: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-15 08:27:52,233 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3466#true} {3466#true} #82#return; {3466#true} is VALID [2022-04-15 08:27:52,233 INFO L272 TraceCheckUtils]: 4: Hoare triple {3466#true} call #t~ret7 := main(); {3466#true} is VALID [2022-04-15 08:27:52,233 INFO L290 TraceCheckUtils]: 5: Hoare triple {3466#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {3466#true} is VALID [2022-04-15 08:27:52,233 INFO L272 TraceCheckUtils]: 6: Hoare triple {3466#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3466#true} is VALID [2022-04-15 08:27:52,233 INFO L290 TraceCheckUtils]: 7: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-15 08:27:52,233 INFO L290 TraceCheckUtils]: 8: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-15 08:27:52,233 INFO L290 TraceCheckUtils]: 9: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-15 08:27:52,234 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3466#true} {3466#true} #64#return; {3466#true} is VALID [2022-04-15 08:27:52,234 INFO L272 TraceCheckUtils]: 11: Hoare triple {3466#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3466#true} is VALID [2022-04-15 08:27:52,234 INFO L290 TraceCheckUtils]: 12: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-15 08:27:52,234 INFO L290 TraceCheckUtils]: 13: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-15 08:27:52,234 INFO L290 TraceCheckUtils]: 14: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-15 08:27:52,234 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3466#true} {3466#true} #66#return; {3466#true} is VALID [2022-04-15 08:27:52,236 INFO L290 TraceCheckUtils]: 16: Hoare triple {3466#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:27:52,236 INFO L290 TraceCheckUtils]: 17: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:27:52,237 INFO L290 TraceCheckUtils]: 18: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:27:52,237 INFO L272 TraceCheckUtils]: 19: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3466#true} is VALID [2022-04-15 08:27:52,237 INFO L290 TraceCheckUtils]: 20: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-15 08:27:52,237 INFO L290 TraceCheckUtils]: 21: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-15 08:27:52,237 INFO L290 TraceCheckUtils]: 22: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-15 08:27:52,240 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3466#true} {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #68#return; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:27:52,240 INFO L272 TraceCheckUtils]: 24: Hoare triple {3519#(and (= main_~s~0 1) (= 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)); {3466#true} is VALID [2022-04-15 08:27:52,240 INFO L290 TraceCheckUtils]: 25: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-15 08:27:52,240 INFO L290 TraceCheckUtils]: 26: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-15 08:27:52,240 INFO L290 TraceCheckUtils]: 27: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-15 08:27:52,241 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3466#true} {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #70#return; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:27:52,241 INFO L272 TraceCheckUtils]: 29: Hoare triple {3519#(and (= main_~s~0 1) (= 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)); {3466#true} is VALID [2022-04-15 08:27:52,241 INFO L290 TraceCheckUtils]: 30: Hoare triple {3466#true} ~cond := #in~cond; {3466#true} is VALID [2022-04-15 08:27:52,241 INFO L290 TraceCheckUtils]: 31: Hoare triple {3466#true} assume !(0 == ~cond); {3466#true} is VALID [2022-04-15 08:27:52,241 INFO L290 TraceCheckUtils]: 32: Hoare triple {3466#true} assume true; {3466#true} is VALID [2022-04-15 08:27:52,242 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3466#true} {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #72#return; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:27:52,242 INFO L290 TraceCheckUtils]: 34: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:27:52,243 INFO L290 TraceCheckUtils]: 35: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:27:52,243 INFO L290 TraceCheckUtils]: 36: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:27:52,244 INFO L290 TraceCheckUtils]: 37: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:27:52,244 INFO L272 TraceCheckUtils]: 38: Hoare triple {3519#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3586#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:27:52,245 INFO L290 TraceCheckUtils]: 39: Hoare triple {3586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:27:52,246 INFO L290 TraceCheckUtils]: 40: Hoare triple {3590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3467#false} is VALID [2022-04-15 08:27:52,246 INFO L290 TraceCheckUtils]: 41: Hoare triple {3467#false} assume !false; {3467#false} is VALID [2022-04-15 08:27:52,246 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-15 08:27:52,246 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 08:27:52,246 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:27:52,246 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2130867335] [2022-04-15 08:27:52,246 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:27:52,247 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1461826629] [2022-04-15 08:27:52,247 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1461826629] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:27:52,247 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:27:52,247 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:27:52,247 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:27:52,247 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1730046910] [2022-04-15 08:27:52,247 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1730046910] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:27:52,247 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:27:52,248 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:27:52,248 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [384807198] [2022-04-15 08:27:52,248 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:27:52,248 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 42 [2022-04-15 08:27:52,248 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:27:52,249 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 08:27:52,273 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:52,274 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:27:52,274 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:52,274 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:27:52,274 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 08:27:52,275 INFO L87 Difference]: Start difference. First operand 100 states and 127 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 08:27:52,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:52,541 INFO L93 Difference]: Finished difference Result 106 states and 132 transitions. [2022-04-15 08:27:52,542 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:27:52,542 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 42 [2022-04-15 08:27:52,542 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:27:52,542 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 08:27:52,544 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-15 08:27:52,544 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 08:27:52,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 62 transitions. [2022-04-15 08:27:52,546 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 62 transitions. [2022-04-15 08:27:52,597 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:52,600 INFO L225 Difference]: With dead ends: 106 [2022-04-15 08:27:52,600 INFO L226 Difference]: Without dead ends: 103 [2022-04-15 08:27:52,601 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 42 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-15 08:27:52,601 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 7 mSDsluCounter, 93 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:27:52,601 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 132 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:27:52,602 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2022-04-15 08:27:52,665 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 103. [2022-04-15 08:27:52,666 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:27:52,673 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 08:27:52,674 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 08:27:52,677 INFO L87 Difference]: Start difference. First operand 103 states. Second operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 08:27:52,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:52,683 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-15 08:27:52,683 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-15 08:27:52,684 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:52,684 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:52,684 INFO L74 IsIncluded]: Start isIncluded. First operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) Second operand 103 states. [2022-04-15 08:27:52,685 INFO L87 Difference]: Start difference. First operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) Second operand 103 states. [2022-04-15 08:27:52,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:27:52,688 INFO L93 Difference]: Finished difference Result 103 states and 128 transitions. [2022-04-15 08:27:52,689 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-15 08:27:52,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:27:52,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:27:52,689 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:27:52,689 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:27:52,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 103 states, 60 states have (on average 1.2) internal successors, (72), 66 states have internal predecessors, (72), 30 states have call successors, (30), 14 states have call predecessors, (30), 12 states have return successors, (26), 22 states have call predecessors, (26), 26 states have call successors, (26) [2022-04-15 08:27:52,693 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 128 transitions. [2022-04-15 08:27:52,693 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 128 transitions. Word has length 42 [2022-04-15 08:27:52,693 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:27:52,693 INFO L478 AbstractCegarLoop]: Abstraction has 103 states and 128 transitions. [2022-04-15 08:27:52,694 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 08:27:52,694 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 103 states and 128 transitions. [2022-04-15 08:27:52,827 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:27:52,827 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 128 transitions. [2022-04-15 08:27:52,827 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 45 [2022-04-15 08:27:52,827 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:27:52,828 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:27:52,856 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-15 08:27:53,028 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:27:53,028 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:27:53,029 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:27:53,029 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 1 times [2022-04-15 08:27:53,029 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:27:53,029 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1057586475] [2022-04-15 08:27:53,029 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:27:53,029 INFO L85 PathProgramCache]: Analyzing trace with hash -1376219446, now seen corresponding path program 2 times [2022-04-15 08:27:53,030 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:27:53,030 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [906360556] [2022-04-15 08:27:53,030 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:27:53,030 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:27:53,042 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:27:53,043 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [941583300] [2022-04-15 08:27:53,043 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:27:53,043 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:27:53,043 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:27:53,046 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-15 08:27:53,047 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-15 08:27:53,095 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:27:53,095 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:27:53,096 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 08:27:53,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:27:53,108 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:27:53,254 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-15 08:27:53,254 INFO L290 TraceCheckUtils]: 1: Hoare triple {4222#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4222#true} is VALID [2022-04-15 08:27:53,254 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 08:27:53,254 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-15 08:27:53,254 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-15 08:27:53,255 INFO L290 TraceCheckUtils]: 5: Hoare triple {4222#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4222#true} is VALID [2022-04-15 08:27:53,255 INFO L272 TraceCheckUtils]: 6: Hoare triple {4222#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-15 08:27:53,255 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 08:27:53,255 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 08:27:53,255 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 08:27:53,255 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-15 08:27:53,255 INFO L272 TraceCheckUtils]: 11: Hoare triple {4222#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-15 08:27:53,255 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 08:27:53,255 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 08:27:53,256 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 08:27:53,256 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-15 08:27:53,256 INFO L290 TraceCheckUtils]: 16: Hoare triple {4222#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4222#true} is VALID [2022-04-15 08:27:53,256 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-15 08:27:53,256 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 50);havoc #t~post6; {4222#true} is VALID [2022-04-15 08:27:53,256 INFO L272 TraceCheckUtils]: 19: Hoare triple {4222#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4222#true} is VALID [2022-04-15 08:27:53,256 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 08:27:53,256 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 08:27:53,257 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 08:27:53,257 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-15 08:27:53,257 INFO L272 TraceCheckUtils]: 24: Hoare triple {4222#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4222#true} is VALID [2022-04-15 08:27:53,261 INFO L290 TraceCheckUtils]: 25: Hoare triple {4222#true} ~cond := #in~cond; {4302#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:27:53,262 INFO L290 TraceCheckUtils]: 26: Hoare triple {4302#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:27:53,262 INFO L290 TraceCheckUtils]: 27: Hoare triple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:27:53,263 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} {4222#true} #70#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:27:53,263 INFO L272 TraceCheckUtils]: 29: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4222#true} is VALID [2022-04-15 08:27:53,263 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 08:27:53,263 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 08:27:53,263 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 08:27:53,264 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4222#true} {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #72#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:27:53,265 INFO L290 TraceCheckUtils]: 34: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:27:53,265 INFO L272 TraceCheckUtils]: 35: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {4222#true} is VALID [2022-04-15 08:27:53,265 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 08:27:53,265 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 08:27:53,265 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 08:27:53,266 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4222#true} {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:27:53,266 INFO L272 TraceCheckUtils]: 40: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:27:53,267 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:27:53,267 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-15 08:27:53,267 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-15 08:27:53,267 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-15 08:27:53,267 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:28:14,597 INFO L290 TraceCheckUtils]: 43: Hoare triple {4223#false} assume !false; {4223#false} is VALID [2022-04-15 08:28:14,598 INFO L290 TraceCheckUtils]: 42: Hoare triple {4355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4223#false} is VALID [2022-04-15 08:28:14,598 INFO L290 TraceCheckUtils]: 41: Hoare triple {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:28:14,599 INFO L272 TraceCheckUtils]: 40: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~p~0 * ~x~0 + ~r~0 * ~y~0 - ~b~0 then 1 else 0)); {4351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:28:14,600 INFO L284 TraceCheckUtils]: 39: Hoare quadruple {4222#true} {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #74#return; {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:28:14,600 INFO L290 TraceCheckUtils]: 38: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 08:28:14,600 INFO L290 TraceCheckUtils]: 37: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 08:28:14,600 INFO L290 TraceCheckUtils]: 36: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 08:28:14,600 INFO L272 TraceCheckUtils]: 35: Hoare triple {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {4222#true} is VALID [2022-04-15 08:28:14,600 INFO L290 TraceCheckUtils]: 34: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {4332#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:28:14,601 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4222#true} {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #72#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:28:14,601 INFO L290 TraceCheckUtils]: 32: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 08:28:14,601 INFO L290 TraceCheckUtils]: 31: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 08:28:14,601 INFO L290 TraceCheckUtils]: 30: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 08:28:14,601 INFO L272 TraceCheckUtils]: 29: Hoare triple {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4222#true} is VALID [2022-04-15 08:28:14,602 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} {4222#true} #70#return; {4313#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:28:14,602 INFO L290 TraceCheckUtils]: 27: Hoare triple {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:28:14,603 INFO L290 TraceCheckUtils]: 26: Hoare triple {4416#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {4306#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:28:14,603 INFO L290 TraceCheckUtils]: 25: Hoare triple {4222#true} ~cond := #in~cond; {4416#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:28:14,603 INFO L272 TraceCheckUtils]: 24: Hoare triple {4222#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4222#true} is VALID [2022-04-15 08:28:14,603 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4222#true} {4222#true} #68#return; {4222#true} is VALID [2022-04-15 08:28:14,603 INFO L290 TraceCheckUtils]: 22: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 08:28:14,603 INFO L290 TraceCheckUtils]: 21: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 08:28:14,603 INFO L290 TraceCheckUtils]: 20: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 08:28:14,603 INFO L272 TraceCheckUtils]: 19: Hoare triple {4222#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4222#true} is VALID [2022-04-15 08:28:14,604 INFO L290 TraceCheckUtils]: 18: Hoare triple {4222#true} assume !!(#t~post6 < 50);havoc #t~post6; {4222#true} is VALID [2022-04-15 08:28:14,604 INFO L290 TraceCheckUtils]: 17: Hoare triple {4222#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {4222#true} is VALID [2022-04-15 08:28:14,604 INFO L290 TraceCheckUtils]: 16: Hoare triple {4222#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4222#true} is VALID [2022-04-15 08:28:14,604 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4222#true} {4222#true} #66#return; {4222#true} is VALID [2022-04-15 08:28:14,604 INFO L290 TraceCheckUtils]: 14: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 08:28:14,604 INFO L290 TraceCheckUtils]: 13: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 08:28:14,604 INFO L290 TraceCheckUtils]: 12: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 08:28:14,604 INFO L272 TraceCheckUtils]: 11: Hoare triple {4222#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-15 08:28:14,604 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4222#true} {4222#true} #64#return; {4222#true} is VALID [2022-04-15 08:28:14,604 INFO L290 TraceCheckUtils]: 9: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 08:28:14,604 INFO L290 TraceCheckUtils]: 8: Hoare triple {4222#true} assume !(0 == ~cond); {4222#true} is VALID [2022-04-15 08:28:14,604 INFO L290 TraceCheckUtils]: 7: Hoare triple {4222#true} ~cond := #in~cond; {4222#true} is VALID [2022-04-15 08:28:14,604 INFO L272 TraceCheckUtils]: 6: Hoare triple {4222#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4222#true} is VALID [2022-04-15 08:28:14,605 INFO L290 TraceCheckUtils]: 5: Hoare triple {4222#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {4222#true} is VALID [2022-04-15 08:28:14,605 INFO L272 TraceCheckUtils]: 4: Hoare triple {4222#true} call #t~ret7 := main(); {4222#true} is VALID [2022-04-15 08:28:14,605 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4222#true} {4222#true} #82#return; {4222#true} is VALID [2022-04-15 08:28:14,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {4222#true} assume true; {4222#true} is VALID [2022-04-15 08:28:14,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {4222#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {4222#true} is VALID [2022-04-15 08:28:14,605 INFO L272 TraceCheckUtils]: 0: Hoare triple {4222#true} call ULTIMATE.init(); {4222#true} is VALID [2022-04-15 08:28:14,605 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-15 08:28:14,605 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:28:14,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [906360556] [2022-04-15 08:28:14,606 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:28:14,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [941583300] [2022-04-15 08:28:14,606 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [941583300] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:28:14,606 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:28:14,606 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 08:28:14,606 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:28:14,606 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1057586475] [2022-04-15 08:28:14,606 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1057586475] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:28:14,606 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:28:14,606 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 08:28:14,606 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1037276033] [2022-04-15 08:28:14,606 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:28:14,607 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 44 [2022-04-15 08:28:14,607 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:28:14,607 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 08:28:14,631 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-15 08:28:14,632 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 08:28:14,632 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:28:14,632 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 08:28:14,632 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-15 08:28:14,632 INFO L87 Difference]: Start difference. First operand 103 states and 128 transitions. Second operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 08:28:15,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:28:15,314 INFO L93 Difference]: Finished difference Result 118 states and 148 transitions. [2022-04-15 08:28:15,314 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 08:28:15,314 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 44 [2022-04-15 08:28:15,315 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:28:15,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 08:28:15,321 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-15 08:28:15,321 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 08:28:15,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 60 transitions. [2022-04-15 08:28:15,331 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 60 transitions. [2022-04-15 08:28:15,389 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-15 08:28:15,392 INFO L225 Difference]: With dead ends: 118 [2022-04-15 08:28:15,393 INFO L226 Difference]: Without dead ends: 106 [2022-04-15 08:28:15,395 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 79 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-15 08:28:15,399 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 15 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 165 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 176 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 165 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-15 08:28:15,400 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 141 Invalid, 176 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 165 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-15 08:28:15,401 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2022-04-15 08:28:15,457 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 104. [2022-04-15 08:28:15,457 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:28:15,458 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-15 08:28:15,458 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-15 08:28:15,458 INFO L87 Difference]: Start difference. First operand 106 states. Second operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-15 08:28:15,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:28:15,462 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-15 08:28:15,462 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-15 08:28:15,463 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:28:15,463 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:28:15,465 INFO L74 IsIncluded]: Start isIncluded. First operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-15 08:28:15,465 INFO L87 Difference]: Start difference. First operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) Second operand 106 states. [2022-04-15 08:28:15,468 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:28:15,468 INFO L93 Difference]: Finished difference Result 106 states and 133 transitions. [2022-04-15 08:28:15,468 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 133 transitions. [2022-04-15 08:28:15,469 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:28:15,469 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:28:15,469 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:28:15,469 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:28:15,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 104 states, 60 states have (on average 1.1833333333333333) internal successors, (71), 67 states have internal predecessors, (71), 31 states have call successors, (31), 13 states have call predecessors, (31), 12 states have return successors, (28), 23 states have call predecessors, (28), 28 states have call successors, (28) [2022-04-15 08:28:15,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 130 transitions. [2022-04-15 08:28:15,473 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 130 transitions. Word has length 44 [2022-04-15 08:28:15,473 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:28:15,473 INFO L478 AbstractCegarLoop]: Abstraction has 104 states and 130 transitions. [2022-04-15 08:28:15,473 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.7142857142857144) internal successors, (19), 6 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 08:28:15,473 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 104 states and 130 transitions. [2022-04-15 08:28:15,616 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:28:15,617 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 130 transitions. [2022-04-15 08:28:15,617 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 48 [2022-04-15 08:28:15,617 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:28:15,617 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:28:15,639 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-15 08:28:15,818 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:28:15,818 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:28:15,819 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:28:15,819 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 3 times [2022-04-15 08:28:15,819 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:28:15,819 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1948557835] [2022-04-15 08:28:15,819 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:28:15,819 INFO L85 PathProgramCache]: Analyzing trace with hash -1137310021, now seen corresponding path program 4 times [2022-04-15 08:28:15,819 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:28:15,819 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1473931379] [2022-04-15 08:28:15,820 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:28:15,820 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:28:15,830 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:28:15,831 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2029143301] [2022-04-15 08:28:15,831 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:28:15,831 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:28:15,831 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:28:15,832 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-15 08:28:15,841 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-15 08:28:15,875 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:28:15,875 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:28:15,876 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-15 08:28:15,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:28:15,887 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:28:16,212 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-15 08:28:16,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {5156#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5156#true} is VALID [2022-04-15 08:28:16,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 08:28:16,213 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-15 08:28:16,213 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-15 08:28:16,213 INFO L290 TraceCheckUtils]: 5: Hoare triple {5156#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5156#true} is VALID [2022-04-15 08:28:16,213 INFO L272 TraceCheckUtils]: 6: Hoare triple {5156#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-15 08:28:16,213 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 08:28:16,213 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 08:28:16,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 08:28:16,213 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-15 08:28:16,213 INFO L272 TraceCheckUtils]: 11: Hoare triple {5156#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-15 08:28:16,214 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 08:28:16,214 INFO L290 TraceCheckUtils]: 13: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 08:28:16,214 INFO L290 TraceCheckUtils]: 14: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 08:28:16,214 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5156#true} {5156#true} #66#return; {5156#true} is VALID [2022-04-15 08:28:16,215 INFO L290 TraceCheckUtils]: 16: Hoare triple {5156#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5209#(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-15 08:28:16,215 INFO L290 TraceCheckUtils]: 17: Hoare triple {5209#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5209#(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-15 08:28:16,216 INFO L290 TraceCheckUtils]: 18: Hoare triple {5209#(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 !!(#t~post6 < 50);havoc #t~post6; {5209#(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-15 08:28:16,216 INFO L272 TraceCheckUtils]: 19: Hoare triple {5209#(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 __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 08:28:16,216 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 08:28:16,216 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 08:28:16,216 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 08:28:16,217 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5156#true} {5209#(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))} #68#return; {5209#(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-15 08:28:16,217 INFO L272 TraceCheckUtils]: 24: Hoare triple {5209#(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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 08:28:16,217 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 08:28:16,217 INFO L290 TraceCheckUtils]: 26: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 08:28:16,217 INFO L290 TraceCheckUtils]: 27: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 08:28:16,218 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5156#true} {5209#(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))} #70#return; {5209#(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-15 08:28:16,218 INFO L272 TraceCheckUtils]: 29: Hoare triple {5209#(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 __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 08:28:16,219 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 08:28:16,219 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 08:28:16,219 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 08:28:16,220 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5156#true} {5209#(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))} #72#return; {5209#(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-15 08:28:16,220 INFO L290 TraceCheckUtils]: 34: Hoare triple {5209#(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 !!(~a~0 != ~b~0); {5209#(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-15 08:28:16,221 INFO L290 TraceCheckUtils]: 35: Hoare triple {5209#(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 ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-15 08:28:16,221 INFO L290 TraceCheckUtils]: 36: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-15 08:28:16,222 INFO L290 TraceCheckUtils]: 37: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} assume !!(#t~post6 < 50);havoc #t~post6; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-15 08:28:16,222 INFO L272 TraceCheckUtils]: 38: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 08:28:16,222 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 08:28:16,222 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 08:28:16,222 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 08:28:16,223 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5156#true} {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} #68#return; {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} is VALID [2022-04-15 08:28:16,224 INFO L272 TraceCheckUtils]: 43: Hoare triple {5267#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:28:16,224 INFO L290 TraceCheckUtils]: 44: Hoare triple {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5296#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:28:16,224 INFO L290 TraceCheckUtils]: 45: Hoare triple {5296#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-15 08:28:16,225 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-15 08:28:16,225 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 08:28:16,225 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:28:16,425 INFO L290 TraceCheckUtils]: 46: Hoare triple {5157#false} assume !false; {5157#false} is VALID [2022-04-15 08:28:16,425 INFO L290 TraceCheckUtils]: 45: Hoare triple {5296#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5157#false} is VALID [2022-04-15 08:28:16,426 INFO L290 TraceCheckUtils]: 44: Hoare triple {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5296#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:28:16,427 INFO L272 TraceCheckUtils]: 43: Hoare triple {5312#(= 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)); {5292#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:28:16,428 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {5156#true} {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:28:16,428 INFO L290 TraceCheckUtils]: 41: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 08:28:16,428 INFO L290 TraceCheckUtils]: 40: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 08:28:16,428 INFO L290 TraceCheckUtils]: 39: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 08:28:16,428 INFO L272 TraceCheckUtils]: 38: Hoare triple {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 08:28:16,428 INFO L290 TraceCheckUtils]: 37: Hoare triple {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:28:16,429 INFO L290 TraceCheckUtils]: 36: Hoare triple {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:28:16,604 INFO L290 TraceCheckUtils]: 35: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {5312#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:28:16,605 INFO L290 TraceCheckUtils]: 34: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:28:16,606 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5156#true} {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:28:16,606 INFO L290 TraceCheckUtils]: 32: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 08:28:16,606 INFO L290 TraceCheckUtils]: 31: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 08:28:16,606 INFO L290 TraceCheckUtils]: 30: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 08:28:16,606 INFO L272 TraceCheckUtils]: 29: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 08:28:16,607 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5156#true} {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #70#return; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:28:16,607 INFO L290 TraceCheckUtils]: 27: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 08:28:16,607 INFO L290 TraceCheckUtils]: 26: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 08:28:16,607 INFO L290 TraceCheckUtils]: 25: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 08:28:16,607 INFO L272 TraceCheckUtils]: 24: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 08:28:16,608 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5156#true} {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #68#return; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:28:16,608 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 08:28:16,608 INFO L290 TraceCheckUtils]: 21: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 08:28:16,608 INFO L290 TraceCheckUtils]: 20: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 08:28:16,609 INFO L272 TraceCheckUtils]: 19: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5156#true} is VALID [2022-04-15 08:28:16,609 INFO L290 TraceCheckUtils]: 18: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:28:16,609 INFO L290 TraceCheckUtils]: 17: Hoare triple {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:28:16,610 INFO L290 TraceCheckUtils]: 16: Hoare triple {5156#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5337#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:28:16,610 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5156#true} {5156#true} #66#return; {5156#true} is VALID [2022-04-15 08:28:16,610 INFO L290 TraceCheckUtils]: 14: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 08:28:16,610 INFO L290 TraceCheckUtils]: 13: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 08:28:16,610 INFO L290 TraceCheckUtils]: 12: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 08:28:16,610 INFO L272 TraceCheckUtils]: 11: Hoare triple {5156#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-15 08:28:16,610 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5156#true} {5156#true} #64#return; {5156#true} is VALID [2022-04-15 08:28:16,610 INFO L290 TraceCheckUtils]: 9: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 08:28:16,610 INFO L290 TraceCheckUtils]: 8: Hoare triple {5156#true} assume !(0 == ~cond); {5156#true} is VALID [2022-04-15 08:28:16,611 INFO L290 TraceCheckUtils]: 7: Hoare triple {5156#true} ~cond := #in~cond; {5156#true} is VALID [2022-04-15 08:28:16,611 INFO L272 TraceCheckUtils]: 6: Hoare triple {5156#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5156#true} is VALID [2022-04-15 08:28:16,611 INFO L290 TraceCheckUtils]: 5: Hoare triple {5156#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {5156#true} is VALID [2022-04-15 08:28:16,611 INFO L272 TraceCheckUtils]: 4: Hoare triple {5156#true} call #t~ret7 := main(); {5156#true} is VALID [2022-04-15 08:28:16,611 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5156#true} {5156#true} #82#return; {5156#true} is VALID [2022-04-15 08:28:16,611 INFO L290 TraceCheckUtils]: 2: Hoare triple {5156#true} assume true; {5156#true} is VALID [2022-04-15 08:28:16,611 INFO L290 TraceCheckUtils]: 1: Hoare triple {5156#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {5156#true} is VALID [2022-04-15 08:28:16,611 INFO L272 TraceCheckUtils]: 0: Hoare triple {5156#true} call ULTIMATE.init(); {5156#true} is VALID [2022-04-15 08:28:16,611 INFO L134 CoverageAnalysis]: Checked inductivity of 40 backedges. 8 proven. 4 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 08:28:16,611 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:28:16,612 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1473931379] [2022-04-15 08:28:16,612 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:28:16,612 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2029143301] [2022-04-15 08:28:16,612 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2029143301] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:28:16,612 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:28:16,612 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 8 [2022-04-15 08:28:16,612 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:28:16,612 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1948557835] [2022-04-15 08:28:16,612 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1948557835] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:28:16,612 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:28:16,613 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 08:28:16,613 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [879216182] [2022-04-15 08:28:16,613 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:28:16,613 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 47 [2022-04-15 08:28:16,613 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:28:16,614 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 08:28:16,651 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-15 08:28:16,651 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 08:28:16,651 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:28:16,651 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 08:28:16,651 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-15 08:28:16,652 INFO L87 Difference]: Start difference. First operand 104 states and 130 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 08:28:17,121 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:28:17,122 INFO L93 Difference]: Finished difference Result 131 states and 169 transitions. [2022-04-15 08:28:17,122 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-15 08:28:17,122 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) Word has length 47 [2022-04-15 08:28:17,122 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:28:17,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 08:28:17,124 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 08:28:17,124 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 08:28:17,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 75 transitions. [2022-04-15 08:28:17,125 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 75 transitions. [2022-04-15 08:28:17,201 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:28:17,204 INFO L225 Difference]: With dead ends: 131 [2022-04-15 08:28:17,204 INFO L226 Difference]: Without dead ends: 129 [2022-04-15 08:28:17,204 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 94 GetRequests, 86 SyntacticMatches, 1 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-15 08:28:17,205 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 9 mSDsluCounter, 119 mSDsCounter, 0 mSdLazyCounter, 119 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 168 SdHoareTripleChecker+Invalid, 122 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 119 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 08:28:17,205 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 168 Invalid, 122 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 119 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 08:28:17,205 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-15 08:28:17,264 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 124. [2022-04-15 08:28:17,264 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:28:17,265 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-15 08:28:17,265 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-15 08:28:17,265 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-15 08:28:17,269 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:28:17,269 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-15 08:28:17,269 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-15 08:28:17,270 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:28:17,270 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:28:17,270 INFO L74 IsIncluded]: Start isIncluded. First operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 129 states. [2022-04-15 08:28:17,271 INFO L87 Difference]: Start difference. First operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) Second operand 129 states. [2022-04-15 08:28:17,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:28:17,275 INFO L93 Difference]: Finished difference Result 129 states and 167 transitions. [2022-04-15 08:28:17,275 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 167 transitions. [2022-04-15 08:28:17,275 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:28:17,275 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:28:17,275 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:28:17,275 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:28:17,276 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124 states, 72 states have (on average 1.2083333333333333) internal successors, (87), 79 states have internal predecessors, (87), 37 states have call successors, (37), 15 states have call predecessors, (37), 14 states have return successors, (34), 29 states have call predecessors, (34), 34 states have call successors, (34) [2022-04-15 08:28:17,279 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 158 transitions. [2022-04-15 08:28:17,279 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 158 transitions. Word has length 47 [2022-04-15 08:28:17,280 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:28:17,280 INFO L478 AbstractCegarLoop]: Abstraction has 124 states and 158 transitions. [2022-04-15 08:28:17,280 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 3 states have call successors, (9), 2 states have call predecessors, (9), 1 states have return successors, (7), 3 states have call predecessors, (7), 3 states have call successors, (7) [2022-04-15 08:28:17,280 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 124 states and 158 transitions. [2022-04-15 08:28:17,458 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 158 edges. 158 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:28:17,458 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 158 transitions. [2022-04-15 08:28:17,459 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-15 08:28:17,459 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:28:17,459 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 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] [2022-04-15 08:28:17,482 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 08:28:17,675 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,SelfDestructingSolverStorable9 [2022-04-15 08:28:17,676 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:28:17,676 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:28:17,676 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 1 times [2022-04-15 08:28:17,676 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:28:17,676 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1709857290] [2022-04-15 08:28:17,676 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:28:17,677 INFO L85 PathProgramCache]: Analyzing trace with hash -1475439812, now seen corresponding path program 2 times [2022-04-15 08:28:17,677 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:28:17,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1594748816] [2022-04-15 08:28:17,677 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:28:17,677 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:28:17,696 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:28:17,696 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1703829850] [2022-04-15 08:28:17,696 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:28:17,697 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:28:17,697 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:28:17,701 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-15 08:28:17,732 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-15 08:28:17,777 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:28:17,777 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:28:17,779 INFO L263 TraceCheckSpWp]: Trace formula consists of 157 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-15 08:28:17,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:28:17,792 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:28:18,266 INFO L272 TraceCheckUtils]: 0: Hoare triple {6215#true} call ULTIMATE.init(); {6215#true} is VALID [2022-04-15 08:28:18,267 INFO L290 TraceCheckUtils]: 1: Hoare triple {6215#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6215#true} is VALID [2022-04-15 08:28:18,267 INFO L290 TraceCheckUtils]: 2: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-15 08:28:18,267 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6215#true} {6215#true} #82#return; {6215#true} is VALID [2022-04-15 08:28:18,267 INFO L272 TraceCheckUtils]: 4: Hoare triple {6215#true} call #t~ret7 := main(); {6215#true} is VALID [2022-04-15 08:28:18,267 INFO L290 TraceCheckUtils]: 5: Hoare triple {6215#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6215#true} is VALID [2022-04-15 08:28:18,267 INFO L272 TraceCheckUtils]: 6: Hoare triple {6215#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-15 08:28:18,267 INFO L290 TraceCheckUtils]: 7: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-15 08:28:18,267 INFO L290 TraceCheckUtils]: 8: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-15 08:28:18,267 INFO L290 TraceCheckUtils]: 9: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-15 08:28:18,268 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6215#true} {6215#true} #64#return; {6215#true} is VALID [2022-04-15 08:28:18,268 INFO L272 TraceCheckUtils]: 11: Hoare triple {6215#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-15 08:28:18,268 INFO L290 TraceCheckUtils]: 12: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-15 08:28:18,268 INFO L290 TraceCheckUtils]: 13: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-15 08:28:18,268 INFO L290 TraceCheckUtils]: 14: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-15 08:28:18,268 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6215#true} {6215#true} #66#return; {6215#true} is VALID [2022-04-15 08:28:18,269 INFO L290 TraceCheckUtils]: 16: Hoare triple {6215#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6268#(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-15 08:28:18,269 INFO L290 TraceCheckUtils]: 17: Hoare triple {6268#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6268#(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-15 08:28:18,270 INFO L290 TraceCheckUtils]: 18: Hoare triple {6268#(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 !!(#t~post6 < 50);havoc #t~post6; {6268#(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-15 08:28:18,270 INFO L272 TraceCheckUtils]: 19: Hoare triple {6268#(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 __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6215#true} is VALID [2022-04-15 08:28:18,270 INFO L290 TraceCheckUtils]: 20: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-15 08:28:18,270 INFO L290 TraceCheckUtils]: 21: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-15 08:28:18,270 INFO L290 TraceCheckUtils]: 22: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-15 08:28:18,271 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6215#true} {6268#(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))} #68#return; {6268#(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-15 08:28:18,271 INFO L272 TraceCheckUtils]: 24: Hoare triple {6268#(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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6215#true} is VALID [2022-04-15 08:28:18,271 INFO L290 TraceCheckUtils]: 25: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-15 08:28:18,271 INFO L290 TraceCheckUtils]: 26: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-15 08:28:18,271 INFO L290 TraceCheckUtils]: 27: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-15 08:28:18,272 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6215#true} {6268#(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))} #70#return; {6268#(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-15 08:28:18,272 INFO L272 TraceCheckUtils]: 29: Hoare triple {6268#(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 __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6215#true} is VALID [2022-04-15 08:28:18,272 INFO L290 TraceCheckUtils]: 30: Hoare triple {6215#true} ~cond := #in~cond; {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:28:18,273 INFO L290 TraceCheckUtils]: 31: Hoare triple {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:28:18,273 INFO L290 TraceCheckUtils]: 32: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:28:18,274 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6268#(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))} #72#return; {6268#(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-15 08:28:18,274 INFO L290 TraceCheckUtils]: 34: Hoare triple {6268#(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 !!(~a~0 != ~b~0); {6268#(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-15 08:28:18,275 INFO L290 TraceCheckUtils]: 35: Hoare triple {6268#(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 !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 08:28:18,275 INFO L290 TraceCheckUtils]: 36: Hoare triple {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 08:28:18,276 INFO L290 TraceCheckUtils]: 37: Hoare triple {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 08:28:18,276 INFO L272 TraceCheckUtils]: 38: Hoare triple {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6215#true} is VALID [2022-04-15 08:28:18,276 INFO L290 TraceCheckUtils]: 39: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-15 08:28:18,276 INFO L290 TraceCheckUtils]: 40: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-15 08:28:18,276 INFO L290 TraceCheckUtils]: 41: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-15 08:28:18,277 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6215#true} {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #68#return; {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 08:28:18,277 INFO L272 TraceCheckUtils]: 43: Hoare triple {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6215#true} is VALID [2022-04-15 08:28:18,278 INFO L290 TraceCheckUtils]: 44: Hoare triple {6215#true} ~cond := #in~cond; {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:28:18,278 INFO L290 TraceCheckUtils]: 45: Hoare triple {6311#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:28:18,278 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:28:18,279 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6328#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #70#return; {6365#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ main_~q~0 1) 0))} is VALID [2022-04-15 08:28:18,280 INFO L272 TraceCheckUtils]: 48: Hoare triple {6365#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) main_~y~0)) (= main_~s~0 1) (= (+ main_~q~0 1) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:28:18,280 INFO L290 TraceCheckUtils]: 49: Hoare triple {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6373#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:28:18,281 INFO L290 TraceCheckUtils]: 50: Hoare triple {6373#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6216#false} is VALID [2022-04-15 08:28:18,281 INFO L290 TraceCheckUtils]: 51: Hoare triple {6216#false} assume !false; {6216#false} is VALID [2022-04-15 08:28:18,281 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 23 proven. 10 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-15 08:28:18,281 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:29:10,894 INFO L290 TraceCheckUtils]: 51: Hoare triple {6216#false} assume !false; {6216#false} is VALID [2022-04-15 08:29:10,895 INFO L290 TraceCheckUtils]: 50: Hoare triple {6373#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6216#false} is VALID [2022-04-15 08:29:10,895 INFO L290 TraceCheckUtils]: 49: Hoare triple {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6373#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:29:10,896 INFO L272 TraceCheckUtils]: 48: Hoare triple {6389#(= 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)); {6369#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:29:10,897 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {6389#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:29:10,898 INFO L290 TraceCheckUtils]: 46: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:29:10,898 INFO L290 TraceCheckUtils]: 45: Hoare triple {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:29:10,899 INFO L290 TraceCheckUtils]: 44: Hoare triple {6215#true} ~cond := #in~cond; {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:29:10,899 INFO L272 TraceCheckUtils]: 43: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6215#true} is VALID [2022-04-15 08:29:10,900 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {6215#true} {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:29:10,900 INFO L290 TraceCheckUtils]: 41: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-15 08:29:10,900 INFO L290 TraceCheckUtils]: 40: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-15 08:29:10,900 INFO L290 TraceCheckUtils]: 39: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-15 08:29:10,900 INFO L272 TraceCheckUtils]: 38: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6215#true} is VALID [2022-04-15 08:29:10,901 INFO L290 TraceCheckUtils]: 37: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:29:10,901 INFO L290 TraceCheckUtils]: 36: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:29:11,263 INFO L290 TraceCheckUtils]: 35: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:29:11,264 INFO L290 TraceCheckUtils]: 34: Hoare triple {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~a~0 != ~b~0); {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:29:11,265 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} {6215#true} #72#return; {6393#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:29:11,265 INFO L290 TraceCheckUtils]: 32: Hoare triple {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:29:11,266 INFO L290 TraceCheckUtils]: 31: Hoare triple {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {6315#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:29:11,266 INFO L290 TraceCheckUtils]: 30: Hoare triple {6215#true} ~cond := #in~cond; {6403#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:29:11,266 INFO L272 TraceCheckUtils]: 29: Hoare triple {6215#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {6215#true} is VALID [2022-04-15 08:29:11,266 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {6215#true} {6215#true} #70#return; {6215#true} is VALID [2022-04-15 08:29:11,266 INFO L290 TraceCheckUtils]: 27: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-15 08:29:11,266 INFO L290 TraceCheckUtils]: 26: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-15 08:29:11,266 INFO L290 TraceCheckUtils]: 25: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-15 08:29:11,266 INFO L272 TraceCheckUtils]: 24: Hoare triple {6215#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {6215#true} is VALID [2022-04-15 08:29:11,267 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {6215#true} {6215#true} #68#return; {6215#true} is VALID [2022-04-15 08:29:11,267 INFO L290 TraceCheckUtils]: 22: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-15 08:29:11,267 INFO L290 TraceCheckUtils]: 21: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-15 08:29:11,267 INFO L290 TraceCheckUtils]: 20: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-15 08:29:11,267 INFO L272 TraceCheckUtils]: 19: Hoare triple {6215#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {6215#true} is VALID [2022-04-15 08:29:11,267 INFO L290 TraceCheckUtils]: 18: Hoare triple {6215#true} assume !!(#t~post6 < 50);havoc #t~post6; {6215#true} is VALID [2022-04-15 08:29:11,267 INFO L290 TraceCheckUtils]: 17: Hoare triple {6215#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {6215#true} is VALID [2022-04-15 08:29:11,267 INFO L290 TraceCheckUtils]: 16: Hoare triple {6215#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6215#true} is VALID [2022-04-15 08:29:11,267 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6215#true} {6215#true} #66#return; {6215#true} is VALID [2022-04-15 08:29:11,267 INFO L290 TraceCheckUtils]: 14: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-15 08:29:11,268 INFO L290 TraceCheckUtils]: 13: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-15 08:29:11,268 INFO L290 TraceCheckUtils]: 12: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-15 08:29:11,268 INFO L272 TraceCheckUtils]: 11: Hoare triple {6215#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-15 08:29:11,268 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6215#true} {6215#true} #64#return; {6215#true} is VALID [2022-04-15 08:29:11,268 INFO L290 TraceCheckUtils]: 9: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-15 08:29:11,268 INFO L290 TraceCheckUtils]: 8: Hoare triple {6215#true} assume !(0 == ~cond); {6215#true} is VALID [2022-04-15 08:29:11,268 INFO L290 TraceCheckUtils]: 7: Hoare triple {6215#true} ~cond := #in~cond; {6215#true} is VALID [2022-04-15 08:29:11,268 INFO L272 TraceCheckUtils]: 6: Hoare triple {6215#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6215#true} is VALID [2022-04-15 08:29:11,268 INFO L290 TraceCheckUtils]: 5: Hoare triple {6215#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {6215#true} is VALID [2022-04-15 08:29:11,269 INFO L272 TraceCheckUtils]: 4: Hoare triple {6215#true} call #t~ret7 := main(); {6215#true} is VALID [2022-04-15 08:29:11,269 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6215#true} {6215#true} #82#return; {6215#true} is VALID [2022-04-15 08:29:11,269 INFO L290 TraceCheckUtils]: 2: Hoare triple {6215#true} assume true; {6215#true} is VALID [2022-04-15 08:29:11,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {6215#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {6215#true} is VALID [2022-04-15 08:29:11,269 INFO L272 TraceCheckUtils]: 0: Hoare triple {6215#true} call ULTIMATE.init(); {6215#true} is VALID [2022-04-15 08:29:11,269 INFO L134 CoverageAnalysis]: Checked inductivity of 59 backedges. 28 proven. 5 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-04-15 08:29:11,270 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:29:11,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1594748816] [2022-04-15 08:29:11,270 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:29:11,270 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1703829850] [2022-04-15 08:29:11,270 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1703829850] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:29:11,270 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:29:11,270 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8] total 12 [2022-04-15 08:29:11,271 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:29:11,271 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1709857290] [2022-04-15 08:29:11,271 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1709857290] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:29:11,271 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:29:11,271 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 08:29:11,271 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [632207271] [2022-04-15 08:29:11,271 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:29:11,272 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 52 [2022-04-15 08:29:11,272 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:29:11,272 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-15 08:29:11,315 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-15 08:29:11,315 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 08:29:11,315 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:29:11,316 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 08:29:11,316 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=99, Unknown=0, NotChecked=0, Total=132 [2022-04-15 08:29:11,316 INFO L87 Difference]: Start difference. First operand 124 states and 158 transitions. Second operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-15 08:29:12,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:29:12,320 INFO L93 Difference]: Finished difference Result 160 states and 210 transitions. [2022-04-15 08:29:12,320 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 08:29:12,320 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 52 [2022-04-15 08:29:12,320 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:29:12,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-15 08:29:12,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-15 08:29:12,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-15 08:29:12,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2022-04-15 08:29:12,324 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 94 transitions. [2022-04-15 08:29:12,431 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-15 08:29:12,435 INFO L225 Difference]: With dead ends: 160 [2022-04-15 08:29:12,435 INFO L226 Difference]: Without dead ends: 153 [2022-04-15 08:29:12,436 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 105 GetRequests, 91 SyntacticMatches, 2 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=46, Invalid=136, Unknown=0, NotChecked=0, Total=182 [2022-04-15 08:29:12,436 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 22 mSDsluCounter, 115 mSDsCounter, 0 mSdLazyCounter, 262 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 283 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 262 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 08:29:12,436 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 147 Invalid, 283 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 262 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 08:29:12,437 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2022-04-15 08:29:12,504 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 153. [2022-04-15 08:29:12,504 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:29:12,505 INFO L82 GeneralOperation]: Start isEquivalent. First operand 153 states. Second operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-15 08:29:12,505 INFO L74 IsIncluded]: Start isIncluded. First operand 153 states. Second operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-15 08:29:12,506 INFO L87 Difference]: Start difference. First operand 153 states. Second operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-15 08:29:12,510 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:29:12,511 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-15 08:29:12,511 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-15 08:29:12,512 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:29:12,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:29:12,512 INFO L74 IsIncluded]: Start isIncluded. First operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 153 states. [2022-04-15 08:29:12,513 INFO L87 Difference]: Start difference. First operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 153 states. [2022-04-15 08:29:12,517 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:29:12,517 INFO L93 Difference]: Finished difference Result 153 states and 198 transitions. [2022-04-15 08:29:12,517 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-15 08:29:12,518 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:29:12,518 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:29:12,518 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:29:12,518 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:29:12,518 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 153 states, 87 states have (on average 1.2183908045977012) internal successors, (106), 96 states have internal predecessors, (106), 48 states have call successors, (48), 18 states have call predecessors, (48), 17 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-15 08:29:12,524 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 153 states to 153 states and 198 transitions. [2022-04-15 08:29:12,524 INFO L78 Accepts]: Start accepts. Automaton has 153 states and 198 transitions. Word has length 52 [2022-04-15 08:29:12,524 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:29:12,524 INFO L478 AbstractCegarLoop]: Abstraction has 153 states and 198 transitions. [2022-04-15 08:29:12,525 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.75) internal successors, (22), 7 states have internal predecessors, (22), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-15 08:29:12,525 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 153 states and 198 transitions. [2022-04-15 08:29:12,751 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-15 08:29:12,752 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 198 transitions. [2022-04-15 08:29:12,752 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 08:29:12,752 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:29:12,753 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:29:12,772 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-15 08:29:12,963 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:29:12,964 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:29:12,964 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:29:12,964 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 3 times [2022-04-15 08:29:12,964 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:29:12,964 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1494295960] [2022-04-15 08:29:12,965 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:29:12,965 INFO L85 PathProgramCache]: Analyzing trace with hash 220857665, now seen corresponding path program 4 times [2022-04-15 08:29:12,965 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:29:12,965 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1293863331] [2022-04-15 08:29:12,965 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:29:12,965 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:29:12,980 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:29:12,980 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1781060460] [2022-04-15 08:29:12,980 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:29:12,980 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:29:12,980 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:29:12,981 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-15 08:29:12,982 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-15 08:29:13,031 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:29:13,031 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:29:13,032 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 08:29:13,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:29:13,047 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:29:13,291 INFO L272 TraceCheckUtils]: 0: Hoare triple {7474#true} call ULTIMATE.init(); {7474#true} is VALID [2022-04-15 08:29:13,292 INFO L290 TraceCheckUtils]: 1: Hoare triple {7474#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,292 INFO L290 TraceCheckUtils]: 2: Hoare triple {7482#(<= ~counter~0 0)} assume true; {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,292 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7482#(<= ~counter~0 0)} {7474#true} #82#return; {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,293 INFO L272 TraceCheckUtils]: 4: Hoare triple {7482#(<= ~counter~0 0)} call #t~ret7 := main(); {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,293 INFO L290 TraceCheckUtils]: 5: Hoare triple {7482#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,293 INFO L272 TraceCheckUtils]: 6: Hoare triple {7482#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,294 INFO L290 TraceCheckUtils]: 7: Hoare triple {7482#(<= ~counter~0 0)} ~cond := #in~cond; {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,294 INFO L290 TraceCheckUtils]: 8: Hoare triple {7482#(<= ~counter~0 0)} assume !(0 == ~cond); {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,294 INFO L290 TraceCheckUtils]: 9: Hoare triple {7482#(<= ~counter~0 0)} assume true; {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,295 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7482#(<= ~counter~0 0)} {7482#(<= ~counter~0 0)} #64#return; {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,295 INFO L272 TraceCheckUtils]: 11: Hoare triple {7482#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,295 INFO L290 TraceCheckUtils]: 12: Hoare triple {7482#(<= ~counter~0 0)} ~cond := #in~cond; {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,296 INFO L290 TraceCheckUtils]: 13: Hoare triple {7482#(<= ~counter~0 0)} assume !(0 == ~cond); {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,296 INFO L290 TraceCheckUtils]: 14: Hoare triple {7482#(<= ~counter~0 0)} assume true; {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,296 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7482#(<= ~counter~0 0)} {7482#(<= ~counter~0 0)} #66#return; {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,296 INFO L290 TraceCheckUtils]: 16: Hoare triple {7482#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7482#(<= ~counter~0 0)} is VALID [2022-04-15 08:29:13,297 INFO L290 TraceCheckUtils]: 17: Hoare triple {7482#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,297 INFO L290 TraceCheckUtils]: 18: Hoare triple {7531#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,298 INFO L272 TraceCheckUtils]: 19: Hoare triple {7531#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,301 INFO L290 TraceCheckUtils]: 20: Hoare triple {7531#(<= ~counter~0 1)} ~cond := #in~cond; {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,301 INFO L290 TraceCheckUtils]: 21: Hoare triple {7531#(<= ~counter~0 1)} assume !(0 == ~cond); {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,301 INFO L290 TraceCheckUtils]: 22: Hoare triple {7531#(<= ~counter~0 1)} assume true; {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,302 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7531#(<= ~counter~0 1)} {7531#(<= ~counter~0 1)} #68#return; {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,302 INFO L272 TraceCheckUtils]: 24: Hoare triple {7531#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,303 INFO L290 TraceCheckUtils]: 25: Hoare triple {7531#(<= ~counter~0 1)} ~cond := #in~cond; {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,303 INFO L290 TraceCheckUtils]: 26: Hoare triple {7531#(<= ~counter~0 1)} assume !(0 == ~cond); {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,303 INFO L290 TraceCheckUtils]: 27: Hoare triple {7531#(<= ~counter~0 1)} assume true; {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,304 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7531#(<= ~counter~0 1)} {7531#(<= ~counter~0 1)} #70#return; {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,312 INFO L272 TraceCheckUtils]: 29: Hoare triple {7531#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,312 INFO L290 TraceCheckUtils]: 30: Hoare triple {7531#(<= ~counter~0 1)} ~cond := #in~cond; {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,313 INFO L290 TraceCheckUtils]: 31: Hoare triple {7531#(<= ~counter~0 1)} assume !(0 == ~cond); {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,313 INFO L290 TraceCheckUtils]: 32: Hoare triple {7531#(<= ~counter~0 1)} assume true; {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,314 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7531#(<= ~counter~0 1)} {7531#(<= ~counter~0 1)} #72#return; {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,314 INFO L290 TraceCheckUtils]: 34: Hoare triple {7531#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,315 INFO L290 TraceCheckUtils]: 35: Hoare triple {7531#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7531#(<= ~counter~0 1)} is VALID [2022-04-15 08:29:13,315 INFO L290 TraceCheckUtils]: 36: Hoare triple {7531#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,316 INFO L290 TraceCheckUtils]: 37: Hoare triple {7589#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,316 INFO L272 TraceCheckUtils]: 38: Hoare triple {7589#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,317 INFO L290 TraceCheckUtils]: 39: Hoare triple {7589#(<= ~counter~0 2)} ~cond := #in~cond; {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,317 INFO L290 TraceCheckUtils]: 40: Hoare triple {7589#(<= ~counter~0 2)} assume !(0 == ~cond); {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,317 INFO L290 TraceCheckUtils]: 41: Hoare triple {7589#(<= ~counter~0 2)} assume true; {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,318 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7589#(<= ~counter~0 2)} {7589#(<= ~counter~0 2)} #68#return; {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,319 INFO L272 TraceCheckUtils]: 43: Hoare triple {7589#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,319 INFO L290 TraceCheckUtils]: 44: Hoare triple {7589#(<= ~counter~0 2)} ~cond := #in~cond; {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,321 INFO L290 TraceCheckUtils]: 45: Hoare triple {7589#(<= ~counter~0 2)} assume !(0 == ~cond); {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,321 INFO L290 TraceCheckUtils]: 46: Hoare triple {7589#(<= ~counter~0 2)} assume true; {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,322 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7589#(<= ~counter~0 2)} {7589#(<= ~counter~0 2)} #70#return; {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,323 INFO L272 TraceCheckUtils]: 48: Hoare triple {7589#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,323 INFO L290 TraceCheckUtils]: 49: Hoare triple {7589#(<= ~counter~0 2)} ~cond := #in~cond; {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,324 INFO L290 TraceCheckUtils]: 50: Hoare triple {7589#(<= ~counter~0 2)} assume !(0 == ~cond); {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,324 INFO L290 TraceCheckUtils]: 51: Hoare triple {7589#(<= ~counter~0 2)} assume true; {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,325 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7589#(<= ~counter~0 2)} {7589#(<= ~counter~0 2)} #72#return; {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,325 INFO L290 TraceCheckUtils]: 53: Hoare triple {7589#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,325 INFO L290 TraceCheckUtils]: 54: Hoare triple {7589#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7589#(<= ~counter~0 2)} is VALID [2022-04-15 08:29:13,326 INFO L290 TraceCheckUtils]: 55: Hoare triple {7589#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7647#(<= |main_#t~post6| 2)} is VALID [2022-04-15 08:29:13,326 INFO L290 TraceCheckUtils]: 56: Hoare triple {7647#(<= |main_#t~post6| 2)} assume !(#t~post6 < 50);havoc #t~post6; {7475#false} is VALID [2022-04-15 08:29:13,326 INFO L272 TraceCheckUtils]: 57: Hoare triple {7475#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {7475#false} is VALID [2022-04-15 08:29:13,326 INFO L290 TraceCheckUtils]: 58: Hoare triple {7475#false} ~cond := #in~cond; {7475#false} is VALID [2022-04-15 08:29:13,327 INFO L290 TraceCheckUtils]: 59: Hoare triple {7475#false} assume 0 == ~cond; {7475#false} is VALID [2022-04-15 08:29:13,327 INFO L290 TraceCheckUtils]: 60: Hoare triple {7475#false} assume !false; {7475#false} is VALID [2022-04-15 08:29:13,327 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 12 proven. 47 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-15 08:29:13,327 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:29:13,597 INFO L290 TraceCheckUtils]: 60: Hoare triple {7475#false} assume !false; {7475#false} is VALID [2022-04-15 08:29:13,597 INFO L290 TraceCheckUtils]: 59: Hoare triple {7475#false} assume 0 == ~cond; {7475#false} is VALID [2022-04-15 08:29:13,597 INFO L290 TraceCheckUtils]: 58: Hoare triple {7475#false} ~cond := #in~cond; {7475#false} is VALID [2022-04-15 08:29:13,597 INFO L272 TraceCheckUtils]: 57: Hoare triple {7475#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {7475#false} is VALID [2022-04-15 08:29:13,598 INFO L290 TraceCheckUtils]: 56: Hoare triple {7675#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {7475#false} is VALID [2022-04-15 08:29:13,598 INFO L290 TraceCheckUtils]: 55: Hoare triple {7679#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7675#(< |main_#t~post6| 50)} is VALID [2022-04-15 08:29:13,598 INFO L290 TraceCheckUtils]: 54: Hoare triple {7679#(< ~counter~0 50)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7679#(< ~counter~0 50)} is VALID [2022-04-15 08:29:13,603 INFO L290 TraceCheckUtils]: 53: Hoare triple {7679#(< ~counter~0 50)} assume !!(~a~0 != ~b~0); {7679#(< ~counter~0 50)} is VALID [2022-04-15 08:29:13,604 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {7474#true} {7679#(< ~counter~0 50)} #72#return; {7679#(< ~counter~0 50)} is VALID [2022-04-15 08:29:13,605 INFO L290 TraceCheckUtils]: 51: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-15 08:29:13,605 INFO L290 TraceCheckUtils]: 50: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-15 08:29:13,605 INFO L290 TraceCheckUtils]: 49: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-15 08:29:13,605 INFO L272 TraceCheckUtils]: 48: Hoare triple {7679#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7474#true} is VALID [2022-04-15 08:29:13,606 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {7474#true} {7679#(< ~counter~0 50)} #70#return; {7679#(< ~counter~0 50)} is VALID [2022-04-15 08:29:13,606 INFO L290 TraceCheckUtils]: 46: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-15 08:29:13,606 INFO L290 TraceCheckUtils]: 45: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-15 08:29:13,606 INFO L290 TraceCheckUtils]: 44: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-15 08:29:13,606 INFO L272 TraceCheckUtils]: 43: Hoare triple {7679#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7474#true} is VALID [2022-04-15 08:29:13,607 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {7474#true} {7679#(< ~counter~0 50)} #68#return; {7679#(< ~counter~0 50)} is VALID [2022-04-15 08:29:13,607 INFO L290 TraceCheckUtils]: 41: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-15 08:29:13,607 INFO L290 TraceCheckUtils]: 40: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-15 08:29:13,607 INFO L290 TraceCheckUtils]: 39: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-15 08:29:13,607 INFO L272 TraceCheckUtils]: 38: Hoare triple {7679#(< ~counter~0 50)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7474#true} is VALID [2022-04-15 08:29:13,608 INFO L290 TraceCheckUtils]: 37: Hoare triple {7679#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {7679#(< ~counter~0 50)} is VALID [2022-04-15 08:29:13,608 INFO L290 TraceCheckUtils]: 36: Hoare triple {7737#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7679#(< ~counter~0 50)} is VALID [2022-04-15 08:29:13,609 INFO L290 TraceCheckUtils]: 35: Hoare triple {7737#(< ~counter~0 49)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {7737#(< ~counter~0 49)} is VALID [2022-04-15 08:29:13,609 INFO L290 TraceCheckUtils]: 34: Hoare triple {7737#(< ~counter~0 49)} assume !!(~a~0 != ~b~0); {7737#(< ~counter~0 49)} is VALID [2022-04-15 08:29:13,610 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7474#true} {7737#(< ~counter~0 49)} #72#return; {7737#(< ~counter~0 49)} is VALID [2022-04-15 08:29:13,610 INFO L290 TraceCheckUtils]: 32: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-15 08:29:13,610 INFO L290 TraceCheckUtils]: 31: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-15 08:29:13,610 INFO L290 TraceCheckUtils]: 30: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-15 08:29:13,611 INFO L272 TraceCheckUtils]: 29: Hoare triple {7737#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {7474#true} is VALID [2022-04-15 08:29:13,611 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7474#true} {7737#(< ~counter~0 49)} #70#return; {7737#(< ~counter~0 49)} is VALID [2022-04-15 08:29:13,612 INFO L290 TraceCheckUtils]: 27: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-15 08:29:13,612 INFO L290 TraceCheckUtils]: 26: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-15 08:29:13,612 INFO L290 TraceCheckUtils]: 25: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-15 08:29:13,612 INFO L272 TraceCheckUtils]: 24: Hoare triple {7737#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {7474#true} is VALID [2022-04-15 08:29:13,613 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7474#true} {7737#(< ~counter~0 49)} #68#return; {7737#(< ~counter~0 49)} is VALID [2022-04-15 08:29:13,613 INFO L290 TraceCheckUtils]: 22: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-15 08:29:13,613 INFO L290 TraceCheckUtils]: 21: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-15 08:29:13,613 INFO L290 TraceCheckUtils]: 20: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-15 08:29:13,613 INFO L272 TraceCheckUtils]: 19: Hoare triple {7737#(< ~counter~0 49)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {7474#true} is VALID [2022-04-15 08:29:13,613 INFO L290 TraceCheckUtils]: 18: Hoare triple {7737#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {7737#(< ~counter~0 49)} is VALID [2022-04-15 08:29:13,614 INFO L290 TraceCheckUtils]: 17: Hoare triple {7795#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {7737#(< ~counter~0 49)} is VALID [2022-04-15 08:29:13,614 INFO L290 TraceCheckUtils]: 16: Hoare triple {7795#(< ~counter~0 48)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7795#(< ~counter~0 48)} is VALID [2022-04-15 08:29:13,614 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7474#true} {7795#(< ~counter~0 48)} #66#return; {7795#(< ~counter~0 48)} is VALID [2022-04-15 08:29:13,614 INFO L290 TraceCheckUtils]: 14: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-15 08:29:13,615 INFO L290 TraceCheckUtils]: 13: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-15 08:29:13,615 INFO L290 TraceCheckUtils]: 12: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-15 08:29:13,615 INFO L272 TraceCheckUtils]: 11: Hoare triple {7795#(< ~counter~0 48)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {7474#true} is VALID [2022-04-15 08:29:13,615 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7474#true} {7795#(< ~counter~0 48)} #64#return; {7795#(< ~counter~0 48)} is VALID [2022-04-15 08:29:13,615 INFO L290 TraceCheckUtils]: 9: Hoare triple {7474#true} assume true; {7474#true} is VALID [2022-04-15 08:29:13,615 INFO L290 TraceCheckUtils]: 8: Hoare triple {7474#true} assume !(0 == ~cond); {7474#true} is VALID [2022-04-15 08:29:13,615 INFO L290 TraceCheckUtils]: 7: Hoare triple {7474#true} ~cond := #in~cond; {7474#true} is VALID [2022-04-15 08:29:13,615 INFO L272 TraceCheckUtils]: 6: Hoare triple {7795#(< ~counter~0 48)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {7474#true} is VALID [2022-04-15 08:29:13,616 INFO L290 TraceCheckUtils]: 5: Hoare triple {7795#(< ~counter~0 48)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {7795#(< ~counter~0 48)} is VALID [2022-04-15 08:29:13,616 INFO L272 TraceCheckUtils]: 4: Hoare triple {7795#(< ~counter~0 48)} call #t~ret7 := main(); {7795#(< ~counter~0 48)} is VALID [2022-04-15 08:29:13,616 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7795#(< ~counter~0 48)} {7474#true} #82#return; {7795#(< ~counter~0 48)} is VALID [2022-04-15 08:29:13,617 INFO L290 TraceCheckUtils]: 2: Hoare triple {7795#(< ~counter~0 48)} assume true; {7795#(< ~counter~0 48)} is VALID [2022-04-15 08:29:13,617 INFO L290 TraceCheckUtils]: 1: Hoare triple {7474#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {7795#(< ~counter~0 48)} is VALID [2022-04-15 08:29:13,617 INFO L272 TraceCheckUtils]: 0: Hoare triple {7474#true} call ULTIMATE.init(); {7474#true} is VALID [2022-04-15 08:29:13,617 INFO L134 CoverageAnalysis]: Checked inductivity of 87 backedges. 12 proven. 11 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-15 08:29:13,617 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:29:13,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1293863331] [2022-04-15 08:29:13,618 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:29:13,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1781060460] [2022-04-15 08:29:13,618 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1781060460] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:29:13,618 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:29:13,618 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6] total 10 [2022-04-15 08:29:13,618 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:29:13,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1494295960] [2022-04-15 08:29:13,618 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1494295960] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:29:13,618 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:29:13,618 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-15 08:29:13,618 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1462114662] [2022-04-15 08:29:13,618 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:29:13,619 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-15 08:29:13,619 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:29:13,619 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 08:29:13,653 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-15 08:29:13,653 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-15 08:29:13,653 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:29:13,654 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-15 08:29:13,654 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=57, Unknown=0, NotChecked=0, Total=90 [2022-04-15 08:29:13,654 INFO L87 Difference]: Start difference. First operand 153 states and 198 transitions. Second operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 08:29:13,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:29:13,933 INFO L93 Difference]: Finished difference Result 199 states and 251 transitions. [2022-04-15 08:29:13,933 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 08:29:13,934 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) Word has length 61 [2022-04-15 08:29:13,934 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:29:13,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 08:29:13,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-15 08:29:13,936 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 08:29:13,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 82 transitions. [2022-04-15 08:29:13,937 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 82 transitions. [2022-04-15 08:29:14,007 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:29:14,011 INFO L225 Difference]: With dead ends: 199 [2022-04-15 08:29:14,011 INFO L226 Difference]: Without dead ends: 173 [2022-04-15 08:29:14,012 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 123 GetRequests, 113 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2022-04-15 08:29:14,013 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 15 mSDsluCounter, 78 mSDsCounter, 0 mSdLazyCounter, 26 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 26 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:29:14,013 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 121 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 26 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:29:14,013 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2022-04-15 08:29:14,109 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 173. [2022-04-15 08:29:14,109 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:29:14,109 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-15 08:29:14,110 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-15 08:29:14,110 INFO L87 Difference]: Start difference. First operand 173 states. Second operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-15 08:29:14,114 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:29:14,114 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-15 08:29:14,114 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-15 08:29:14,115 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:29:14,115 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:29:14,116 INFO L74 IsIncluded]: Start isIncluded. First operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-15 08:29:14,116 INFO L87 Difference]: Start difference. First operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) Second operand 173 states. [2022-04-15 08:29:14,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:29:14,121 INFO L93 Difference]: Finished difference Result 173 states and 215 transitions. [2022-04-15 08:29:14,121 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-15 08:29:14,121 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:29:14,121 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:29:14,121 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:29:14,121 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:29:14,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 173 states, 104 states have (on average 1.1826923076923077) internal successors, (123), 113 states have internal predecessors, (123), 48 states have call successors, (48), 21 states have call predecessors, (48), 20 states have return successors, (44), 38 states have call predecessors, (44), 44 states have call successors, (44) [2022-04-15 08:29:14,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 173 states to 173 states and 215 transitions. [2022-04-15 08:29:14,127 INFO L78 Accepts]: Start accepts. Automaton has 173 states and 215 transitions. Word has length 61 [2022-04-15 08:29:14,127 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:29:14,127 INFO L478 AbstractCegarLoop]: Abstraction has 173 states and 215 transitions. [2022-04-15 08:29:14,127 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.333333333333333) internal successors, (26), 5 states have internal predecessors, (26), 5 states have call successors, (11), 5 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 4 states have call successors, (9) [2022-04-15 08:29:14,127 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 173 states and 215 transitions. [2022-04-15 08:29:14,352 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 215 edges. 215 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:29:14,352 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 215 transitions. [2022-04-15 08:29:14,353 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-15 08:29:14,353 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:29:14,353 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:29:14,370 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-15 08:29:14,553 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,SelfDestructingSolverStorable11 [2022-04-15 08:29:14,554 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:29:14,554 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:29:14,554 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 1 times [2022-04-15 08:29:14,554 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:29:14,554 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1197899022] [2022-04-15 08:29:14,554 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:29:14,555 INFO L85 PathProgramCache]: Analyzing trace with hash 1997533323, now seen corresponding path program 2 times [2022-04-15 08:29:14,555 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:29:14,555 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1110968505] [2022-04-15 08:29:14,555 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:29:14,555 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:29:14,564 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:29:14,565 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [283554393] [2022-04-15 08:29:14,565 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:29:14,565 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:29:14,565 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:29:14,566 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-15 08:29:14,605 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-15 08:29:14,631 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:29:14,632 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:29:14,633 INFO L263 TraceCheckSpWp]: Trace formula consists of 179 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-15 08:29:14,643 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:29:14,646 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:29:14,972 INFO L272 TraceCheckUtils]: 0: Hoare triple {8943#true} call ULTIMATE.init(); {8943#true} is VALID [2022-04-15 08:29:14,973 INFO L290 TraceCheckUtils]: 1: Hoare triple {8943#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8943#true} is VALID [2022-04-15 08:29:14,973 INFO L290 TraceCheckUtils]: 2: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:14,973 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8943#true} {8943#true} #82#return; {8943#true} is VALID [2022-04-15 08:29:14,973 INFO L272 TraceCheckUtils]: 4: Hoare triple {8943#true} call #t~ret7 := main(); {8943#true} is VALID [2022-04-15 08:29:14,973 INFO L290 TraceCheckUtils]: 5: Hoare triple {8943#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8943#true} is VALID [2022-04-15 08:29:14,973 INFO L272 TraceCheckUtils]: 6: Hoare triple {8943#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-15 08:29:14,973 INFO L290 TraceCheckUtils]: 7: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:14,973 INFO L290 TraceCheckUtils]: 8: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:14,974 INFO L290 TraceCheckUtils]: 9: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:14,974 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8943#true} {8943#true} #64#return; {8943#true} is VALID [2022-04-15 08:29:14,974 INFO L272 TraceCheckUtils]: 11: Hoare triple {8943#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-15 08:29:14,974 INFO L290 TraceCheckUtils]: 12: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:14,974 INFO L290 TraceCheckUtils]: 13: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:14,974 INFO L290 TraceCheckUtils]: 14: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:14,974 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8943#true} {8943#true} #66#return; {8943#true} is VALID [2022-04-15 08:29:14,975 INFO L290 TraceCheckUtils]: 16: Hoare triple {8943#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:29:14,976 INFO L290 TraceCheckUtils]: 17: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:29:14,976 INFO L290 TraceCheckUtils]: 18: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:29:14,976 INFO L272 TraceCheckUtils]: 19: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8943#true} is VALID [2022-04-15 08:29:14,977 INFO L290 TraceCheckUtils]: 20: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:14,977 INFO L290 TraceCheckUtils]: 21: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:14,977 INFO L290 TraceCheckUtils]: 22: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:14,977 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8943#true} {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #68#return; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:29:14,977 INFO L272 TraceCheckUtils]: 24: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= 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)); {8943#true} is VALID [2022-04-15 08:29:14,978 INFO L290 TraceCheckUtils]: 25: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:14,978 INFO L290 TraceCheckUtils]: 26: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:14,978 INFO L290 TraceCheckUtils]: 27: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:14,979 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8943#true} {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #70#return; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:29:14,979 INFO L272 TraceCheckUtils]: 29: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= 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)); {8943#true} is VALID [2022-04-15 08:29:14,979 INFO L290 TraceCheckUtils]: 30: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:14,979 INFO L290 TraceCheckUtils]: 31: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:14,979 INFO L290 TraceCheckUtils]: 32: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:14,980 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8943#true} {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #72#return; {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:29:14,980 INFO L290 TraceCheckUtils]: 34: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 08:29:14,981 INFO L290 TraceCheckUtils]: 35: Hoare triple {8996#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-15 08:29:14,981 INFO L290 TraceCheckUtils]: 36: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-15 08:29:14,982 INFO L290 TraceCheckUtils]: 37: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-15 08:29:14,982 INFO L272 TraceCheckUtils]: 38: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8943#true} is VALID [2022-04-15 08:29:14,982 INFO L290 TraceCheckUtils]: 39: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:14,982 INFO L290 TraceCheckUtils]: 40: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:14,982 INFO L290 TraceCheckUtils]: 41: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:14,983 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8943#true} {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #68#return; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-15 08:29:14,983 INFO L272 TraceCheckUtils]: 43: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8943#true} is VALID [2022-04-15 08:29:14,983 INFO L290 TraceCheckUtils]: 44: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:14,983 INFO L290 TraceCheckUtils]: 45: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:14,983 INFO L290 TraceCheckUtils]: 46: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:14,984 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8943#true} {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #70#return; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-15 08:29:14,984 INFO L272 TraceCheckUtils]: 48: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8943#true} is VALID [2022-04-15 08:29:14,984 INFO L290 TraceCheckUtils]: 49: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:14,985 INFO L290 TraceCheckUtils]: 50: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:14,985 INFO L290 TraceCheckUtils]: 51: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:14,985 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8943#true} {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #72#return; {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-15 08:29:14,986 INFO L290 TraceCheckUtils]: 53: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-15 08:29:14,987 INFO L290 TraceCheckUtils]: 54: Hoare triple {9054#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} is VALID [2022-04-15 08:29:14,987 INFO L290 TraceCheckUtils]: 55: Hoare triple {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} is VALID [2022-04-15 08:29:14,988 INFO L290 TraceCheckUtils]: 56: Hoare triple {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} is VALID [2022-04-15 08:29:14,988 INFO L272 TraceCheckUtils]: 57: Hoare triple {9112#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:29:14,989 INFO L290 TraceCheckUtils]: 58: Hoare triple {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9126#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:29:14,989 INFO L290 TraceCheckUtils]: 59: Hoare triple {9126#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8944#false} is VALID [2022-04-15 08:29:14,989 INFO L290 TraceCheckUtils]: 60: Hoare triple {8944#false} assume !false; {8944#false} is VALID [2022-04-15 08:29:14,990 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 13 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-15 08:29:14,990 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:29:15,232 INFO L290 TraceCheckUtils]: 60: Hoare triple {8944#false} assume !false; {8944#false} is VALID [2022-04-15 08:29:15,233 INFO L290 TraceCheckUtils]: 59: Hoare triple {9126#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8944#false} is VALID [2022-04-15 08:29:15,233 INFO L290 TraceCheckUtils]: 58: Hoare triple {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9126#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:29:15,234 INFO L272 TraceCheckUtils]: 57: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9122#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:29:15,235 INFO L290 TraceCheckUtils]: 56: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 50);havoc #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,235 INFO L290 TraceCheckUtils]: 55: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,238 INFO L290 TraceCheckUtils]: 54: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,239 INFO L290 TraceCheckUtils]: 53: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,240 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,240 INFO L290 TraceCheckUtils]: 51: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:15,240 INFO L290 TraceCheckUtils]: 50: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:15,240 INFO L290 TraceCheckUtils]: 49: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:15,240 INFO L272 TraceCheckUtils]: 48: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8943#true} is VALID [2022-04-15 08:29:15,241 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,241 INFO L290 TraceCheckUtils]: 46: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:15,241 INFO L290 TraceCheckUtils]: 45: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:15,241 INFO L290 TraceCheckUtils]: 44: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:15,241 INFO L272 TraceCheckUtils]: 43: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8943#true} is VALID [2022-04-15 08:29:15,242 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,242 INFO L290 TraceCheckUtils]: 41: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:15,242 INFO L290 TraceCheckUtils]: 40: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:15,242 INFO L290 TraceCheckUtils]: 39: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:15,242 INFO L272 TraceCheckUtils]: 38: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8943#true} is VALID [2022-04-15 08:29:15,242 INFO L290 TraceCheckUtils]: 37: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 50);havoc #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,243 INFO L290 TraceCheckUtils]: 36: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,245 INFO L290 TraceCheckUtils]: 35: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,245 INFO L290 TraceCheckUtils]: 34: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,246 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #72#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,246 INFO L290 TraceCheckUtils]: 32: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:15,246 INFO L290 TraceCheckUtils]: 31: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:15,246 INFO L290 TraceCheckUtils]: 30: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:15,246 INFO L272 TraceCheckUtils]: 29: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {8943#true} is VALID [2022-04-15 08:29:15,247 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #70#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,247 INFO L290 TraceCheckUtils]: 27: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:15,247 INFO L290 TraceCheckUtils]: 26: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:15,247 INFO L290 TraceCheckUtils]: 25: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:15,247 INFO L272 TraceCheckUtils]: 24: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8943#true} is VALID [2022-04-15 08:29:15,248 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8943#true} {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #68#return; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,248 INFO L290 TraceCheckUtils]: 22: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:15,248 INFO L290 TraceCheckUtils]: 21: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:15,248 INFO L290 TraceCheckUtils]: 20: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:15,248 INFO L272 TraceCheckUtils]: 19: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8943#true} is VALID [2022-04-15 08:29:15,248 INFO L290 TraceCheckUtils]: 18: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(#t~post6 < 50);havoc #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,249 INFO L290 TraceCheckUtils]: 17: Hoare triple {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,249 INFO L290 TraceCheckUtils]: 16: Hoare triple {8943#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9142#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-15 08:29:15,249 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8943#true} {8943#true} #66#return; {8943#true} is VALID [2022-04-15 08:29:15,249 INFO L290 TraceCheckUtils]: 14: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:15,249 INFO L290 TraceCheckUtils]: 13: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:15,249 INFO L290 TraceCheckUtils]: 12: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:15,249 INFO L272 TraceCheckUtils]: 11: Hoare triple {8943#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-15 08:29:15,250 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8943#true} {8943#true} #64#return; {8943#true} is VALID [2022-04-15 08:29:15,250 INFO L290 TraceCheckUtils]: 9: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:15,250 INFO L290 TraceCheckUtils]: 8: Hoare triple {8943#true} assume !(0 == ~cond); {8943#true} is VALID [2022-04-15 08:29:15,250 INFO L290 TraceCheckUtils]: 7: Hoare triple {8943#true} ~cond := #in~cond; {8943#true} is VALID [2022-04-15 08:29:15,250 INFO L272 TraceCheckUtils]: 6: Hoare triple {8943#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8943#true} is VALID [2022-04-15 08:29:15,250 INFO L290 TraceCheckUtils]: 5: Hoare triple {8943#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {8943#true} is VALID [2022-04-15 08:29:15,250 INFO L272 TraceCheckUtils]: 4: Hoare triple {8943#true} call #t~ret7 := main(); {8943#true} is VALID [2022-04-15 08:29:15,250 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8943#true} {8943#true} #82#return; {8943#true} is VALID [2022-04-15 08:29:15,250 INFO L290 TraceCheckUtils]: 2: Hoare triple {8943#true} assume true; {8943#true} is VALID [2022-04-15 08:29:15,250 INFO L290 TraceCheckUtils]: 1: Hoare triple {8943#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {8943#true} is VALID [2022-04-15 08:29:15,250 INFO L272 TraceCheckUtils]: 0: Hoare triple {8943#true} call ULTIMATE.init(); {8943#true} is VALID [2022-04-15 08:29:15,250 INFO L134 CoverageAnalysis]: Checked inductivity of 89 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 77 trivial. 0 not checked. [2022-04-15 08:29:15,251 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:29:15,251 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1110968505] [2022-04-15 08:29:15,251 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:29:15,251 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [283554393] [2022-04-15 08:29:15,251 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [283554393] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 08:29:15,251 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 08:29:15,251 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-15 08:29:15,251 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:29:15,251 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1197899022] [2022-04-15 08:29:15,251 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1197899022] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:29:15,252 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:29:15,252 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 08:29:15,252 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1211652663] [2022-04-15 08:29:15,252 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:29:15,252 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 61 [2022-04-15 08:29:15,252 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:29:15,252 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 08:29:15,277 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-15 08:29:15,277 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 08:29:15,277 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:29:15,277 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 08:29:15,277 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-15 08:29:15,278 INFO L87 Difference]: Start difference. First operand 173 states and 215 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 08:29:15,520 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:29:15,520 INFO L93 Difference]: Finished difference Result 179 states and 220 transitions. [2022-04-15 08:29:15,520 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 08:29:15,521 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 61 [2022-04-15 08:29:15,521 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:29:15,521 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 08:29:15,522 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-15 08:29:15,522 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 08:29:15,523 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 44 transitions. [2022-04-15 08:29:15,523 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 44 transitions. [2022-04-15 08:29:15,589 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:29:15,593 INFO L225 Difference]: With dead ends: 179 [2022-04-15 08:29:15,593 INFO L226 Difference]: Without dead ends: 174 [2022-04-15 08:29:15,593 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 122 GetRequests, 112 SyntacticMatches, 3 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=52, Unknown=0, NotChecked=0, Total=72 [2022-04-15 08:29:15,594 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 7 mSDsluCounter, 69 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 102 SdHoareTripleChecker+Invalid, 39 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 38 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:29:15,594 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 102 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:29:15,594 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2022-04-15 08:29:15,714 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 172. [2022-04-15 08:29:15,715 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:29:15,715 INFO L82 GeneralOperation]: Start isEquivalent. First operand 174 states. Second operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 08:29:15,716 INFO L74 IsIncluded]: Start isIncluded. First operand 174 states. Second operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 08:29:15,716 INFO L87 Difference]: Start difference. First operand 174 states. Second operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 08:29:15,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:29:15,721 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-15 08:29:15,721 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-15 08:29:15,721 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:29:15,721 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:29:15,722 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) Second operand 174 states. [2022-04-15 08:29:15,722 INFO L87 Difference]: Start difference. First operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) Second operand 174 states. [2022-04-15 08:29:15,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:29:15,727 INFO L93 Difference]: Finished difference Result 174 states and 211 transitions. [2022-04-15 08:29:15,727 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 211 transitions. [2022-04-15 08:29:15,728 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:29:15,728 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:29:15,728 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:29:15,728 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:29:15,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 107 states have (on average 1.1682242990654206) internal successors, (125), 114 states have internal predecessors, (125), 43 states have call successors, (43), 22 states have call predecessors, (43), 21 states have return successors, (40), 35 states have call predecessors, (40), 40 states have call successors, (40) [2022-04-15 08:29:15,732 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 208 transitions. [2022-04-15 08:29:15,733 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 208 transitions. Word has length 61 [2022-04-15 08:29:15,733 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:29:15,733 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 208 transitions. [2022-04-15 08:29:15,733 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, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 08:29:15,733 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 208 transitions. [2022-04-15 08:29:16,022 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-15 08:29:16,022 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 208 transitions. [2022-04-15 08:29:16,023 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-15 08:29:16,023 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:29:16,023 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:29:16,054 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-15 08:29:16,224 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,SelfDestructingSolverStorable12 [2022-04-15 08:29:16,224 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:29:16,224 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:29:16,224 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 5 times [2022-04-15 08:29:16,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:29:16,225 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1815586065] [2022-04-15 08:29:16,225 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:29:16,225 INFO L85 PathProgramCache]: Analyzing trace with hash 404368620, now seen corresponding path program 6 times [2022-04-15 08:29:16,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:29:16,225 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [132523638] [2022-04-15 08:29:16,225 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:29:16,225 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:29:16,235 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:29:16,235 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [3622065] [2022-04-15 08:29:16,235 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 08:29:16,235 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:29:16,235 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:29:16,236 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-15 08:29:16,241 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-15 08:29:16,297 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 08:29:16,297 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:29:16,298 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-15 08:29:16,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:29:16,318 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:29:16,804 INFO L272 TraceCheckUtils]: 0: Hoare triple {10368#true} call ULTIMATE.init(); {10368#true} is VALID [2022-04-15 08:29:16,804 INFO L290 TraceCheckUtils]: 1: Hoare triple {10368#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10368#true} is VALID [2022-04-15 08:29:16,804 INFO L290 TraceCheckUtils]: 2: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:16,805 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10368#true} {10368#true} #82#return; {10368#true} is VALID [2022-04-15 08:29:16,805 INFO L272 TraceCheckUtils]: 4: Hoare triple {10368#true} call #t~ret7 := main(); {10368#true} is VALID [2022-04-15 08:29:16,805 INFO L290 TraceCheckUtils]: 5: Hoare triple {10368#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10368#true} is VALID [2022-04-15 08:29:16,805 INFO L272 TraceCheckUtils]: 6: Hoare triple {10368#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:16,805 INFO L290 TraceCheckUtils]: 7: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:16,805 INFO L290 TraceCheckUtils]: 8: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:16,805 INFO L290 TraceCheckUtils]: 9: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:16,805 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10368#true} {10368#true} #64#return; {10368#true} is VALID [2022-04-15 08:29:16,805 INFO L272 TraceCheckUtils]: 11: Hoare triple {10368#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:16,805 INFO L290 TraceCheckUtils]: 12: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:16,805 INFO L290 TraceCheckUtils]: 13: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:16,805 INFO L290 TraceCheckUtils]: 14: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:16,805 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10368#true} {10368#true} #66#return; {10368#true} is VALID [2022-04-15 08:29:16,806 INFO L290 TraceCheckUtils]: 16: Hoare triple {10368#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10421#(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-15 08:29:16,806 INFO L290 TraceCheckUtils]: 17: Hoare triple {10421#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10421#(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-15 08:29:16,807 INFO L290 TraceCheckUtils]: 18: Hoare triple {10421#(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 !!(#t~post6 < 50);havoc #t~post6; {10421#(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-15 08:29:16,807 INFO L272 TraceCheckUtils]: 19: Hoare triple {10421#(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 __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:16,807 INFO L290 TraceCheckUtils]: 20: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:16,807 INFO L290 TraceCheckUtils]: 21: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:16,807 INFO L290 TraceCheckUtils]: 22: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:16,808 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10368#true} {10421#(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))} #68#return; {10421#(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-15 08:29:16,808 INFO L272 TraceCheckUtils]: 24: Hoare triple {10421#(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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:16,808 INFO L290 TraceCheckUtils]: 25: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:16,808 INFO L290 TraceCheckUtils]: 26: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:16,808 INFO L290 TraceCheckUtils]: 27: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:16,809 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10368#true} {10421#(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))} #70#return; {10421#(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-15 08:29:16,809 INFO L272 TraceCheckUtils]: 29: Hoare triple {10421#(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 __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:16,809 INFO L290 TraceCheckUtils]: 30: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:16,809 INFO L290 TraceCheckUtils]: 31: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:16,809 INFO L290 TraceCheckUtils]: 32: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:16,809 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10368#true} {10421#(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))} #72#return; {10421#(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-15 08:29:16,810 INFO L290 TraceCheckUtils]: 34: Hoare triple {10421#(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 !!(~a~0 != ~b~0); {10421#(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-15 08:29:16,810 INFO L290 TraceCheckUtils]: 35: Hoare triple {10421#(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 ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:29:16,811 INFO L290 TraceCheckUtils]: 36: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:29:16,811 INFO L290 TraceCheckUtils]: 37: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:29:16,811 INFO L272 TraceCheckUtils]: 38: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:16,811 INFO L290 TraceCheckUtils]: 39: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:16,812 INFO L290 TraceCheckUtils]: 40: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:16,812 INFO L290 TraceCheckUtils]: 41: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:16,812 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10368#true} {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:29:16,812 INFO L272 TraceCheckUtils]: 43: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:16,813 INFO L290 TraceCheckUtils]: 44: Hoare triple {10368#true} ~cond := #in~cond; {10507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:29:16,813 INFO L290 TraceCheckUtils]: 45: Hoare triple {10507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:29:16,813 INFO L290 TraceCheckUtils]: 46: Hoare triple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:29:16,814 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:29:16,814 INFO L272 TraceCheckUtils]: 48: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:16,814 INFO L290 TraceCheckUtils]: 49: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:16,814 INFO L290 TraceCheckUtils]: 50: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:16,814 INFO L290 TraceCheckUtils]: 51: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:16,815 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10368#true} {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:29:16,815 INFO L290 TraceCheckUtils]: 53: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:29:16,816 INFO L290 TraceCheckUtils]: 54: Hoare triple {10479#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-15 08:29:16,817 INFO L290 TraceCheckUtils]: 55: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-15 08:29:16,817 INFO L290 TraceCheckUtils]: 56: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-15 08:29:16,817 INFO L272 TraceCheckUtils]: 57: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:16,817 INFO L290 TraceCheckUtils]: 58: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:16,817 INFO L290 TraceCheckUtils]: 59: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:16,817 INFO L290 TraceCheckUtils]: 60: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:16,818 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10368#true} {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} #68#return; {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} is VALID [2022-04-15 08:29:16,818 INFO L272 TraceCheckUtils]: 62: Hoare triple {10539#(and (= (- 2) main_~r~0) (= main_~a~0 (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:29:16,819 INFO L290 TraceCheckUtils]: 63: Hoare triple {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10568#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:29:16,819 INFO L290 TraceCheckUtils]: 64: Hoare triple {10568#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10369#false} is VALID [2022-04-15 08:29:16,819 INFO L290 TraceCheckUtils]: 65: Hoare triple {10369#false} assume !false; {10369#false} is VALID [2022-04-15 08:29:16,820 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 25 proven. 22 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-04-15 08:29:16,820 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:29:43,539 INFO L290 TraceCheckUtils]: 65: Hoare triple {10369#false} assume !false; {10369#false} is VALID [2022-04-15 08:29:43,540 INFO L290 TraceCheckUtils]: 64: Hoare triple {10568#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {10369#false} is VALID [2022-04-15 08:29:43,541 INFO L290 TraceCheckUtils]: 63: Hoare triple {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {10568#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:29:43,541 INFO L272 TraceCheckUtils]: 62: Hoare triple {10584#(= 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)); {10564#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:29:43,542 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10368#true} {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:29:43,542 INFO L290 TraceCheckUtils]: 60: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:43,542 INFO L290 TraceCheckUtils]: 59: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:43,543 INFO L290 TraceCheckUtils]: 58: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:43,543 INFO L272 TraceCheckUtils]: 57: Hoare triple {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:43,543 INFO L290 TraceCheckUtils]: 56: Hoare triple {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:29:43,544 INFO L290 TraceCheckUtils]: 55: Hoare triple {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:29:43,697 INFO L290 TraceCheckUtils]: 54: Hoare triple {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10584#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:29:43,698 INFO L290 TraceCheckUtils]: 53: Hoare triple {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:29:43,699 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {10368#true} {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:29:43,699 INFO L290 TraceCheckUtils]: 51: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:43,699 INFO L290 TraceCheckUtils]: 50: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:43,699 INFO L290 TraceCheckUtils]: 49: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:43,699 INFO L272 TraceCheckUtils]: 48: Hoare triple {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:43,700 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {10609#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:29:43,701 INFO L290 TraceCheckUtils]: 46: Hoare triple {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:29:43,701 INFO L290 TraceCheckUtils]: 45: Hoare triple {10641#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {10511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:29:43,702 INFO L290 TraceCheckUtils]: 44: Hoare triple {10368#true} ~cond := #in~cond; {10641#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:29:43,702 INFO L272 TraceCheckUtils]: 43: Hoare triple {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:43,702 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {10368#true} {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:29:43,703 INFO L290 TraceCheckUtils]: 41: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:43,703 INFO L290 TraceCheckUtils]: 40: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:43,703 INFO L290 TraceCheckUtils]: 39: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:43,703 INFO L272 TraceCheckUtils]: 38: Hoare triple {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:43,704 INFO L290 TraceCheckUtils]: 37: Hoare triple {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:29:43,704 INFO L290 TraceCheckUtils]: 36: Hoare triple {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:29:45,706 WARN L290 TraceCheckUtils]: 35: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {10631#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is UNKNOWN [2022-04-15 08:29:45,707 INFO L290 TraceCheckUtils]: 34: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(~a~0 != ~b~0); {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 08:29:45,708 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10368#true} {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #72#return; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 08:29:45,708 INFO L290 TraceCheckUtils]: 32: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:45,708 INFO L290 TraceCheckUtils]: 31: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:45,708 INFO L290 TraceCheckUtils]: 30: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:45,708 INFO L272 TraceCheckUtils]: 29: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:45,709 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10368#true} {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #70#return; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 08:29:45,709 INFO L290 TraceCheckUtils]: 27: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:45,709 INFO L290 TraceCheckUtils]: 26: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:45,709 INFO L290 TraceCheckUtils]: 25: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:45,709 INFO L272 TraceCheckUtils]: 24: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:45,710 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10368#true} {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #68#return; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 08:29:45,710 INFO L290 TraceCheckUtils]: 22: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:45,710 INFO L290 TraceCheckUtils]: 21: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:45,710 INFO L290 TraceCheckUtils]: 20: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:45,710 INFO L272 TraceCheckUtils]: 19: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:45,711 INFO L290 TraceCheckUtils]: 18: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(#t~post6 < 50);havoc #t~post6; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 08:29:45,711 INFO L290 TraceCheckUtils]: 17: Hoare triple {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 08:29:45,712 INFO L290 TraceCheckUtils]: 16: Hoare triple {10368#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {10669#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* (- 1) main_~b~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 08:29:45,712 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10368#true} {10368#true} #66#return; {10368#true} is VALID [2022-04-15 08:29:45,712 INFO L290 TraceCheckUtils]: 14: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:45,712 INFO L290 TraceCheckUtils]: 13: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:45,712 INFO L290 TraceCheckUtils]: 12: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:45,712 INFO L272 TraceCheckUtils]: 11: Hoare triple {10368#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:45,712 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10368#true} {10368#true} #64#return; {10368#true} is VALID [2022-04-15 08:29:45,712 INFO L290 TraceCheckUtils]: 9: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:45,712 INFO L290 TraceCheckUtils]: 8: Hoare triple {10368#true} assume !(0 == ~cond); {10368#true} is VALID [2022-04-15 08:29:45,712 INFO L290 TraceCheckUtils]: 7: Hoare triple {10368#true} ~cond := #in~cond; {10368#true} is VALID [2022-04-15 08:29:45,712 INFO L272 TraceCheckUtils]: 6: Hoare triple {10368#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {10368#true} is VALID [2022-04-15 08:29:45,712 INFO L290 TraceCheckUtils]: 5: Hoare triple {10368#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {10368#true} is VALID [2022-04-15 08:29:45,713 INFO L272 TraceCheckUtils]: 4: Hoare triple {10368#true} call #t~ret7 := main(); {10368#true} is VALID [2022-04-15 08:29:45,713 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10368#true} {10368#true} #82#return; {10368#true} is VALID [2022-04-15 08:29:45,713 INFO L290 TraceCheckUtils]: 2: Hoare triple {10368#true} assume true; {10368#true} is VALID [2022-04-15 08:29:45,713 INFO L290 TraceCheckUtils]: 1: Hoare triple {10368#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {10368#true} is VALID [2022-04-15 08:29:45,713 INFO L272 TraceCheckUtils]: 0: Hoare triple {10368#true} call ULTIMATE.init(); {10368#true} is VALID [2022-04-15 08:29:45,713 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 29 proven. 18 refuted. 0 times theorem prover too weak. 70 trivial. 0 not checked. [2022-04-15 08:29:45,714 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:29:45,714 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [132523638] [2022-04-15 08:29:45,714 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:29:45,714 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [3622065] [2022-04-15 08:29:45,714 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [3622065] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:29:45,714 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:29:45,714 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-15 08:29:45,714 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:29:45,715 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1815586065] [2022-04-15 08:29:45,715 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1815586065] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:29:45,715 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:29:45,715 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 08:29:45,715 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2092630276] [2022-04-15 08:29:45,715 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:29:45,715 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-15 08:29:45,716 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:29:45,716 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:29:45,755 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-15 08:29:45,756 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 08:29:45,756 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:29:45,756 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 08:29:45,756 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-15 08:29:45,756 INFO L87 Difference]: Start difference. First operand 172 states and 208 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:29:46,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:29:46,855 INFO L93 Difference]: Finished difference Result 199 states and 247 transitions. [2022-04-15 08:29:46,855 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 08:29:46,855 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-15 08:29:46,855 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:29:46,855 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:29:46,857 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-15 08:29:46,857 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:29:46,858 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-15 08:29:46,858 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-15 08:29:46,973 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:29:46,977 INFO L225 Difference]: With dead ends: 199 [2022-04-15 08:29:46,977 INFO L226 Difference]: Without dead ends: 197 [2022-04-15 08:29:46,978 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 118 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-15 08:29:46,979 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 15 mSDsluCounter, 151 mSDsCounter, 0 mSdLazyCounter, 328 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 190 SdHoareTripleChecker+Invalid, 335 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 328 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 08:29:46,979 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 190 Invalid, 335 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 328 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 08:29:46,980 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 197 states. [2022-04-15 08:29:47,105 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 197 to 181. [2022-04-15 08:29:47,106 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:29:47,106 INFO L82 GeneralOperation]: Start isEquivalent. First operand 197 states. Second operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-15 08:29:47,107 INFO L74 IsIncluded]: Start isIncluded. First operand 197 states. Second operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-15 08:29:47,107 INFO L87 Difference]: Start difference. First operand 197 states. Second operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-15 08:29:47,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:29:47,112 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-15 08:29:47,112 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-15 08:29:47,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:29:47,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:29:47,113 INFO L74 IsIncluded]: Start isIncluded. First operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) Second operand 197 states. [2022-04-15 08:29:47,114 INFO L87 Difference]: Start difference. First operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) Second operand 197 states. [2022-04-15 08:29:47,119 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:29:47,120 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-15 08:29:47,120 INFO L276 IsEmpty]: Start isEmpty. Operand 197 states and 245 transitions. [2022-04-15 08:29:47,120 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:29:47,120 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:29:47,120 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:29:47,120 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:29:47,121 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 181 states, 112 states have (on average 1.1696428571428572) internal successors, (131), 119 states have internal predecessors, (131), 46 states have call successors, (46), 23 states have call predecessors, (46), 22 states have return successors, (43), 38 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-15 08:29:47,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 181 states to 181 states and 220 transitions. [2022-04-15 08:29:47,126 INFO L78 Accepts]: Start accepts. Automaton has 181 states and 220 transitions. Word has length 66 [2022-04-15 08:29:47,126 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:29:47,126 INFO L478 AbstractCegarLoop]: Abstraction has 181 states and 220 transitions. [2022-04-15 08:29:47,126 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:29:47,126 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 181 states and 220 transitions. [2022-04-15 08:29:47,484 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 220 edges. 220 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:29:47,484 INFO L276 IsEmpty]: Start isEmpty. Operand 181 states and 220 transitions. [2022-04-15 08:29:47,485 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-15 08:29:47,485 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:29:47,485 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 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] [2022-04-15 08:29:47,512 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-15 08:29:47,685 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,SelfDestructingSolverStorable13 [2022-04-15 08:29:47,686 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:29:47,686 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:29:47,686 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 3 times [2022-04-15 08:29:47,687 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:29:47,687 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1594155072] [2022-04-15 08:29:47,687 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:29:47,687 INFO L85 PathProgramCache]: Analyzing trace with hash 1105968494, now seen corresponding path program 4 times [2022-04-15 08:29:47,687 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:29:47,687 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [241539412] [2022-04-15 08:29:47,687 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:29:47,688 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:29:47,697 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:29:47,698 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1663946416] [2022-04-15 08:29:47,698 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:29:47,698 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:29:47,698 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:29:47,699 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-15 08:29:47,702 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-15 08:29:47,741 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:29:47,741 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:29:47,742 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-15 08:29:47,754 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:29:47,755 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:29:48,290 INFO L272 TraceCheckUtils]: 0: Hoare triple {11935#true} call ULTIMATE.init(); {11935#true} is VALID [2022-04-15 08:29:48,290 INFO L290 TraceCheckUtils]: 1: Hoare triple {11935#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11935#true} is VALID [2022-04-15 08:29:48,290 INFO L290 TraceCheckUtils]: 2: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:29:48,290 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11935#true} {11935#true} #82#return; {11935#true} is VALID [2022-04-15 08:29:48,290 INFO L272 TraceCheckUtils]: 4: Hoare triple {11935#true} call #t~ret7 := main(); {11935#true} is VALID [2022-04-15 08:29:48,290 INFO L290 TraceCheckUtils]: 5: Hoare triple {11935#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11935#true} is VALID [2022-04-15 08:29:48,291 INFO L272 TraceCheckUtils]: 6: Hoare triple {11935#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:29:48,291 INFO L290 TraceCheckUtils]: 7: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-15 08:29:48,291 INFO L290 TraceCheckUtils]: 8: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-15 08:29:48,291 INFO L290 TraceCheckUtils]: 9: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:29:48,291 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11935#true} {11935#true} #64#return; {11935#true} is VALID [2022-04-15 08:29:48,291 INFO L272 TraceCheckUtils]: 11: Hoare triple {11935#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:29:48,291 INFO L290 TraceCheckUtils]: 12: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-15 08:29:48,291 INFO L290 TraceCheckUtils]: 13: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-15 08:29:48,291 INFO L290 TraceCheckUtils]: 14: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:29:48,292 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11935#true} {11935#true} #66#return; {11935#true} is VALID [2022-04-15 08:29:48,292 INFO L290 TraceCheckUtils]: 16: Hoare triple {11935#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11988#(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-15 08:29:48,293 INFO L290 TraceCheckUtils]: 17: Hoare triple {11988#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11988#(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-15 08:29:48,293 INFO L290 TraceCheckUtils]: 18: Hoare triple {11988#(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 !!(#t~post6 < 50);havoc #t~post6; {11988#(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-15 08:29:48,293 INFO L272 TraceCheckUtils]: 19: Hoare triple {11988#(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 __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:29:48,293 INFO L290 TraceCheckUtils]: 20: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-15 08:29:48,293 INFO L290 TraceCheckUtils]: 21: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-15 08:29:48,294 INFO L290 TraceCheckUtils]: 22: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:29:48,294 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11935#true} {11988#(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))} #68#return; {11988#(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-15 08:29:48,294 INFO L272 TraceCheckUtils]: 24: Hoare triple {11988#(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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:29:48,294 INFO L290 TraceCheckUtils]: 25: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-15 08:29:48,295 INFO L290 TraceCheckUtils]: 26: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-15 08:29:48,295 INFO L290 TraceCheckUtils]: 27: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:29:48,296 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11935#true} {11988#(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))} #70#return; {11988#(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-15 08:29:48,296 INFO L272 TraceCheckUtils]: 29: Hoare triple {11988#(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 __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:29:48,296 INFO L290 TraceCheckUtils]: 30: Hoare triple {11935#true} ~cond := #in~cond; {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:29:48,296 INFO L290 TraceCheckUtils]: 31: Hoare triple {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:29:48,297 INFO L290 TraceCheckUtils]: 32: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:29:48,298 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {11988#(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))} #72#return; {11988#(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-15 08:29:48,298 INFO L290 TraceCheckUtils]: 34: Hoare triple {11988#(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 !!(~a~0 != ~b~0); {11988#(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-15 08:29:48,299 INFO L290 TraceCheckUtils]: 35: Hoare triple {11988#(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 !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 08:29:48,300 INFO L290 TraceCheckUtils]: 36: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 08:29:48,300 INFO L290 TraceCheckUtils]: 37: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 08:29:48,300 INFO L272 TraceCheckUtils]: 38: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:29:48,300 INFO L290 TraceCheckUtils]: 39: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-15 08:29:48,300 INFO L290 TraceCheckUtils]: 40: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-15 08:29:48,301 INFO L290 TraceCheckUtils]: 41: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:29:48,301 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11935#true} {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #68#return; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 08:29:48,302 INFO L272 TraceCheckUtils]: 43: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:29:48,302 INFO L290 TraceCheckUtils]: 44: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-15 08:29:48,302 INFO L290 TraceCheckUtils]: 45: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-15 08:29:48,302 INFO L290 TraceCheckUtils]: 46: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:29:48,303 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11935#true} {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #70#return; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 08:29:48,303 INFO L272 TraceCheckUtils]: 48: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:29:48,303 INFO L290 TraceCheckUtils]: 49: Hoare triple {11935#true} ~cond := #in~cond; {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:29:48,304 INFO L290 TraceCheckUtils]: 50: Hoare triple {12031#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:29:48,304 INFO L290 TraceCheckUtils]: 51: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:29:48,305 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #72#return; {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 08:29:48,306 INFO L290 TraceCheckUtils]: 53: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 08:29:48,307 INFO L290 TraceCheckUtils]: 54: Hoare triple {12048#(and (= main_~r~0 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-15 08:29:48,308 INFO L290 TraceCheckUtils]: 55: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-15 08:29:48,308 INFO L290 TraceCheckUtils]: 56: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} assume !!(#t~post6 < 50);havoc #t~post6; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-15 08:29:48,308 INFO L272 TraceCheckUtils]: 57: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:29:48,308 INFO L290 TraceCheckUtils]: 58: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-15 08:29:48,308 INFO L290 TraceCheckUtils]: 59: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-15 08:29:48,309 INFO L290 TraceCheckUtils]: 60: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:29:48,309 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11935#true} {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} #68#return; {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-15 08:29:48,310 INFO L272 TraceCheckUtils]: 62: Hoare triple {12106#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= (+ 2 (* (- 1) main_~p~0)) 0) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:29:48,311 INFO L290 TraceCheckUtils]: 63: Hoare triple {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:29:48,311 INFO L290 TraceCheckUtils]: 64: Hoare triple {12135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11936#false} is VALID [2022-04-15 08:29:48,311 INFO L290 TraceCheckUtils]: 65: Hoare triple {11936#false} assume !false; {11936#false} is VALID [2022-04-15 08:29:48,312 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 30 proven. 29 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2022-04-15 08:29:48,312 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:30:21,231 INFO L290 TraceCheckUtils]: 65: Hoare triple {11936#false} assume !false; {11936#false} is VALID [2022-04-15 08:30:21,231 INFO L290 TraceCheckUtils]: 64: Hoare triple {12135#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11936#false} is VALID [2022-04-15 08:30:21,232 INFO L290 TraceCheckUtils]: 63: Hoare triple {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12135#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:30:21,232 INFO L272 TraceCheckUtils]: 62: Hoare triple {12151#(= 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)); {12131#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:30:21,233 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {11935#true} {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:30:21,233 INFO L290 TraceCheckUtils]: 60: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:30:21,233 INFO L290 TraceCheckUtils]: 59: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-15 08:30:21,233 INFO L290 TraceCheckUtils]: 58: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-15 08:30:21,233 INFO L272 TraceCheckUtils]: 57: Hoare triple {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:30:21,234 INFO L290 TraceCheckUtils]: 56: Hoare triple {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:30:21,234 INFO L290 TraceCheckUtils]: 55: Hoare triple {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:30:21,597 INFO L290 TraceCheckUtils]: 54: Hoare triple {12176#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {12151#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:30:21,598 INFO L290 TraceCheckUtils]: 53: Hoare triple {12176#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {12176#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:30:21,599 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #72#return; {12176#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:30:21,599 INFO L290 TraceCheckUtils]: 51: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:30:21,600 INFO L290 TraceCheckUtils]: 50: Hoare triple {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:30:21,600 INFO L290 TraceCheckUtils]: 49: Hoare triple {11935#true} ~cond := #in~cond; {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:30:21,600 INFO L272 TraceCheckUtils]: 48: Hoare triple {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:30:21,601 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11935#true} {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #70#return; {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:30:21,601 INFO L290 TraceCheckUtils]: 46: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:30:21,601 INFO L290 TraceCheckUtils]: 45: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-15 08:30:21,601 INFO L290 TraceCheckUtils]: 44: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-15 08:30:21,601 INFO L272 TraceCheckUtils]: 43: Hoare triple {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:30:21,602 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {11935#true} {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #68#return; {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:30:21,602 INFO L290 TraceCheckUtils]: 41: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:30:21,602 INFO L290 TraceCheckUtils]: 40: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-15 08:30:21,602 INFO L290 TraceCheckUtils]: 39: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-15 08:30:21,602 INFO L272 TraceCheckUtils]: 38: Hoare triple {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:30:21,602 INFO L290 TraceCheckUtils]: 37: Hoare triple {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:30:21,603 INFO L290 TraceCheckUtils]: 36: Hoare triple {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:30:21,953 INFO L290 TraceCheckUtils]: 35: Hoare triple {12236#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {12183#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:30:21,954 INFO L290 TraceCheckUtils]: 34: Hoare triple {12236#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} assume !!(~a~0 != ~b~0); {12236#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} is VALID [2022-04-15 08:30:21,955 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} {11935#true} #72#return; {12236#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ main_~a~0 (* (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (- 1)) (* (- 1) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))))))} is VALID [2022-04-15 08:30:21,955 INFO L290 TraceCheckUtils]: 32: Hoare triple {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:30:21,956 INFO L290 TraceCheckUtils]: 31: Hoare triple {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {12035#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:30:21,956 INFO L290 TraceCheckUtils]: 30: Hoare triple {11935#true} ~cond := #in~cond; {12193#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:30:21,956 INFO L272 TraceCheckUtils]: 29: Hoare triple {11935#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:30:21,956 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11935#true} {11935#true} #70#return; {11935#true} is VALID [2022-04-15 08:30:21,956 INFO L290 TraceCheckUtils]: 27: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:30:21,957 INFO L290 TraceCheckUtils]: 26: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-15 08:30:21,957 INFO L290 TraceCheckUtils]: 25: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-15 08:30:21,957 INFO L272 TraceCheckUtils]: 24: Hoare triple {11935#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:30:21,957 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11935#true} {11935#true} #68#return; {11935#true} is VALID [2022-04-15 08:30:21,957 INFO L290 TraceCheckUtils]: 22: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:30:21,957 INFO L290 TraceCheckUtils]: 21: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-15 08:30:21,957 INFO L290 TraceCheckUtils]: 20: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-15 08:30:21,957 INFO L272 TraceCheckUtils]: 19: Hoare triple {11935#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:30:21,957 INFO L290 TraceCheckUtils]: 18: Hoare triple {11935#true} assume !!(#t~post6 < 50);havoc #t~post6; {11935#true} is VALID [2022-04-15 08:30:21,958 INFO L290 TraceCheckUtils]: 17: Hoare triple {11935#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {11935#true} is VALID [2022-04-15 08:30:21,958 INFO L290 TraceCheckUtils]: 16: Hoare triple {11935#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11935#true} is VALID [2022-04-15 08:30:21,958 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11935#true} {11935#true} #66#return; {11935#true} is VALID [2022-04-15 08:30:21,958 INFO L290 TraceCheckUtils]: 14: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:30:21,958 INFO L290 TraceCheckUtils]: 13: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-15 08:30:21,958 INFO L290 TraceCheckUtils]: 12: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-15 08:30:21,958 INFO L272 TraceCheckUtils]: 11: Hoare triple {11935#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:30:21,958 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11935#true} {11935#true} #64#return; {11935#true} is VALID [2022-04-15 08:30:21,958 INFO L290 TraceCheckUtils]: 9: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:30:21,958 INFO L290 TraceCheckUtils]: 8: Hoare triple {11935#true} assume !(0 == ~cond); {11935#true} is VALID [2022-04-15 08:30:21,959 INFO L290 TraceCheckUtils]: 7: Hoare triple {11935#true} ~cond := #in~cond; {11935#true} is VALID [2022-04-15 08:30:21,959 INFO L272 TraceCheckUtils]: 6: Hoare triple {11935#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11935#true} is VALID [2022-04-15 08:30:21,959 INFO L290 TraceCheckUtils]: 5: Hoare triple {11935#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {11935#true} is VALID [2022-04-15 08:30:21,959 INFO L272 TraceCheckUtils]: 4: Hoare triple {11935#true} call #t~ret7 := main(); {11935#true} is VALID [2022-04-15 08:30:21,959 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11935#true} {11935#true} #82#return; {11935#true} is VALID [2022-04-15 08:30:21,959 INFO L290 TraceCheckUtils]: 2: Hoare triple {11935#true} assume true; {11935#true} is VALID [2022-04-15 08:30:21,959 INFO L290 TraceCheckUtils]: 1: Hoare triple {11935#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {11935#true} is VALID [2022-04-15 08:30:21,959 INFO L272 TraceCheckUtils]: 0: Hoare triple {11935#true} call ULTIMATE.init(); {11935#true} is VALID [2022-04-15 08:30:21,960 INFO L134 CoverageAnalysis]: Checked inductivity of 117 backedges. 43 proven. 16 refuted. 0 times theorem prover too weak. 58 trivial. 0 not checked. [2022-04-15 08:30:21,960 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:30:21,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [241539412] [2022-04-15 08:30:21,960 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:30:21,960 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1663946416] [2022-04-15 08:30:21,961 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1663946416] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:30:21,961 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:30:21,961 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-15 08:30:21,961 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:30:21,961 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1594155072] [2022-04-15 08:30:21,961 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1594155072] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:30:21,961 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:30:21,961 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 08:30:21,961 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [823797273] [2022-04-15 08:30:21,961 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:30:21,962 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-15 08:30:21,962 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:30:21,962 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:30:22,012 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-15 08:30:22,012 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 08:30:22,013 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:30:22,013 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 08:30:22,013 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-15 08:30:22,013 INFO L87 Difference]: Start difference. First operand 181 states and 220 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:30:23,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:30:23,153 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-15 08:30:23,153 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 08:30:23,153 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 66 [2022-04-15 08:30:23,153 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:30:23,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:30:23,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-15 08:30:23,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:30:23,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-15 08:30:23,157 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-15 08:30:23,253 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:30:23,258 INFO L225 Difference]: With dead ends: 208 [2022-04-15 08:30:23,258 INFO L226 Difference]: Without dead ends: 206 [2022-04-15 08:30:23,258 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 133 GetRequests, 117 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2022-04-15 08:30:23,259 INFO L913 BasicCegarLoop]: 42 mSDtfsCounter, 15 mSDsluCounter, 156 mSDsCounter, 0 mSdLazyCounter, 348 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 198 SdHoareTripleChecker+Invalid, 355 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 348 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-15 08:30:23,259 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 198 Invalid, 355 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 348 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-15 08:30:23,260 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 206 states. [2022-04-15 08:30:23,368 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 206 to 190. [2022-04-15 08:30:23,369 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:30:23,369 INFO L82 GeneralOperation]: Start isEquivalent. First operand 206 states. Second operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-15 08:30:23,370 INFO L74 IsIncluded]: Start isIncluded. First operand 206 states. Second operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-15 08:30:23,370 INFO L87 Difference]: Start difference. First operand 206 states. Second operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-15 08:30:23,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:30:23,376 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-15 08:30:23,376 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-15 08:30:23,376 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:30:23,376 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:30:23,377 INFO L74 IsIncluded]: Start isIncluded. First operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) Second operand 206 states. [2022-04-15 08:30:23,377 INFO L87 Difference]: Start difference. First operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) Second operand 206 states. [2022-04-15 08:30:23,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:30:23,383 INFO L93 Difference]: Finished difference Result 206 states and 257 transitions. [2022-04-15 08:30:23,383 INFO L276 IsEmpty]: Start isEmpty. Operand 206 states and 257 transitions. [2022-04-15 08:30:23,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:30:23,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:30:23,383 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:30:23,384 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:30:23,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 190 states, 117 states have (on average 1.170940170940171) internal successors, (137), 124 states have internal predecessors, (137), 49 states have call successors, (49), 24 states have call predecessors, (49), 23 states have return successors, (46), 41 states have call predecessors, (46), 46 states have call successors, (46) [2022-04-15 08:30:23,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 190 states to 190 states and 232 transitions. [2022-04-15 08:30:23,389 INFO L78 Accepts]: Start accepts. Automaton has 190 states and 232 transitions. Word has length 66 [2022-04-15 08:30:23,389 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:30:23,389 INFO L478 AbstractCegarLoop]: Abstraction has 190 states and 232 transitions. [2022-04-15 08:30:23,390 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-15 08:30:23,390 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 190 states and 232 transitions. [2022-04-15 08:30:23,698 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 232 edges. 232 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:30:23,699 INFO L276 IsEmpty]: Start isEmpty. Operand 190 states and 232 transitions. [2022-04-15 08:30:23,699 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-15 08:30:23,700 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:30:23,700 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:30:23,718 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-15 08:30:23,907 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,SelfDestructingSolverStorable14 [2022-04-15 08:30:23,908 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:30:23,908 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:30:23,908 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 5 times [2022-04-15 08:30:23,908 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:30:23,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1043701643] [2022-04-15 08:30:23,908 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:30:23,909 INFO L85 PathProgramCache]: Analyzing trace with hash 1181721515, now seen corresponding path program 6 times [2022-04-15 08:30:23,909 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:30:23,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1697798534] [2022-04-15 08:30:23,909 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:30:23,909 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:30:23,919 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:30:23,919 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [818077618] [2022-04-15 08:30:23,919 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 08:30:23,919 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:30:23,919 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:30:23,920 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-15 08:30:23,921 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-15 08:30:23,975 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 08:30:23,975 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:30:23,976 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-15 08:30:23,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:30:23,993 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:30:24,435 INFO L272 TraceCheckUtils]: 0: Hoare triple {13556#true} call ULTIMATE.init(); {13556#true} is VALID [2022-04-15 08:30:24,435 INFO L290 TraceCheckUtils]: 1: Hoare triple {13556#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13556#true} is VALID [2022-04-15 08:30:24,435 INFO L290 TraceCheckUtils]: 2: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:24,436 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13556#true} {13556#true} #82#return; {13556#true} is VALID [2022-04-15 08:30:24,436 INFO L272 TraceCheckUtils]: 4: Hoare triple {13556#true} call #t~ret7 := main(); {13556#true} is VALID [2022-04-15 08:30:24,436 INFO L290 TraceCheckUtils]: 5: Hoare triple {13556#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13556#true} is VALID [2022-04-15 08:30:24,436 INFO L272 TraceCheckUtils]: 6: Hoare triple {13556#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-15 08:30:24,436 INFO L290 TraceCheckUtils]: 7: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:24,436 INFO L290 TraceCheckUtils]: 8: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:24,436 INFO L290 TraceCheckUtils]: 9: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:24,436 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13556#true} {13556#true} #64#return; {13556#true} is VALID [2022-04-15 08:30:24,436 INFO L272 TraceCheckUtils]: 11: Hoare triple {13556#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-15 08:30:24,436 INFO L290 TraceCheckUtils]: 12: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:24,436 INFO L290 TraceCheckUtils]: 13: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:24,436 INFO L290 TraceCheckUtils]: 14: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:24,437 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13556#true} {13556#true} #66#return; {13556#true} is VALID [2022-04-15 08:30:24,437 INFO L290 TraceCheckUtils]: 16: Hoare triple {13556#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:30:24,437 INFO L290 TraceCheckUtils]: 17: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:30:24,438 INFO L290 TraceCheckUtils]: 18: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:30:24,438 INFO L272 TraceCheckUtils]: 19: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-15 08:30:24,438 INFO L290 TraceCheckUtils]: 20: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:24,438 INFO L290 TraceCheckUtils]: 21: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:24,438 INFO L290 TraceCheckUtils]: 22: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:24,439 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13556#true} {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:30:24,439 INFO L272 TraceCheckUtils]: 24: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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)); {13556#true} is VALID [2022-04-15 08:30:24,439 INFO L290 TraceCheckUtils]: 25: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:24,439 INFO L290 TraceCheckUtils]: 26: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:24,439 INFO L290 TraceCheckUtils]: 27: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:24,440 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13556#true} {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:30:24,440 INFO L272 TraceCheckUtils]: 29: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~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)); {13556#true} is VALID [2022-04-15 08:30:24,440 INFO L290 TraceCheckUtils]: 30: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:24,440 INFO L290 TraceCheckUtils]: 31: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:24,440 INFO L290 TraceCheckUtils]: 32: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:24,440 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13556#true} {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:30:24,441 INFO L290 TraceCheckUtils]: 34: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:30:24,441 INFO L290 TraceCheckUtils]: 35: Hoare triple {13609#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:30:24,442 INFO L290 TraceCheckUtils]: 36: Hoare triple {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:30:24,442 INFO L290 TraceCheckUtils]: 37: Hoare triple {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:30:24,442 INFO L272 TraceCheckUtils]: 38: Hoare triple {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-15 08:30:24,442 INFO L290 TraceCheckUtils]: 39: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:24,442 INFO L290 TraceCheckUtils]: 40: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:24,442 INFO L290 TraceCheckUtils]: 41: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:24,444 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13556#true} {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:30:24,444 INFO L272 TraceCheckUtils]: 43: Hoare triple {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~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)); {13556#true} is VALID [2022-04-15 08:30:24,444 INFO L290 TraceCheckUtils]: 44: Hoare triple {13556#true} ~cond := #in~cond; {13695#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:30:24,445 INFO L290 TraceCheckUtils]: 45: Hoare triple {13695#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:30:24,445 INFO L290 TraceCheckUtils]: 46: Hoare triple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:30:24,446 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} {13667#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:30:24,446 INFO L272 TraceCheckUtils]: 48: Hoare triple {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~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)); {13556#true} is VALID [2022-04-15 08:30:24,446 INFO L290 TraceCheckUtils]: 49: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:24,446 INFO L290 TraceCheckUtils]: 50: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:24,446 INFO L290 TraceCheckUtils]: 51: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:24,447 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13556#true} {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:30:24,447 INFO L290 TraceCheckUtils]: 53: Hoare triple {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:30:24,450 INFO L290 TraceCheckUtils]: 54: Hoare triple {13706#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-15 08:30:24,450 INFO L290 TraceCheckUtils]: 55: Hoare triple {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-15 08:30:24,451 INFO L290 TraceCheckUtils]: 56: Hoare triple {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} assume !!(#t~post6 < 50);havoc #t~post6; {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-15 08:30:24,451 INFO L272 TraceCheckUtils]: 57: Hoare triple {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-15 08:30:24,451 INFO L290 TraceCheckUtils]: 58: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:24,451 INFO L290 TraceCheckUtils]: 59: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:24,451 INFO L290 TraceCheckUtils]: 60: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:24,452 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13556#true} {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #68#return; {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-15 08:30:24,452 INFO L272 TraceCheckUtils]: 62: Hoare triple {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13556#true} is VALID [2022-04-15 08:30:24,452 INFO L290 TraceCheckUtils]: 63: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:24,452 INFO L290 TraceCheckUtils]: 64: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:24,452 INFO L290 TraceCheckUtils]: 65: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:24,453 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13556#true} {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} #70#return; {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} is VALID [2022-04-15 08:30:24,453 INFO L272 TraceCheckUtils]: 67: Hoare triple {13728#(and (= (+ (* main_~x~0 (* (- 1) main_~q~0)) (* (- 1) main_~y~0)) (+ main_~y~0 (* (- 1) main_~b~0))) (= main_~s~0 2))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:30:24,454 INFO L290 TraceCheckUtils]: 68: Hoare triple {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:30:24,454 INFO L290 TraceCheckUtils]: 69: Hoare triple {13772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13557#false} is VALID [2022-04-15 08:30:24,454 INFO L290 TraceCheckUtils]: 70: Hoare triple {13557#false} assume !false; {13557#false} is VALID [2022-04-15 08:30:24,454 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 27 proven. 27 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-15 08:30:24,454 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:30:50,238 INFO L290 TraceCheckUtils]: 70: Hoare triple {13557#false} assume !false; {13557#false} is VALID [2022-04-15 08:30:50,238 INFO L290 TraceCheckUtils]: 69: Hoare triple {13772#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13557#false} is VALID [2022-04-15 08:30:50,239 INFO L290 TraceCheckUtils]: 68: Hoare triple {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13772#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:30:50,240 INFO L272 TraceCheckUtils]: 67: Hoare triple {13788#(= 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)); {13768#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:30:50,240 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:30:50,240 INFO L290 TraceCheckUtils]: 65: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:50,240 INFO L290 TraceCheckUtils]: 64: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:50,240 INFO L290 TraceCheckUtils]: 63: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:50,240 INFO L272 TraceCheckUtils]: 62: Hoare triple {13788#(= 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)); {13556#true} is VALID [2022-04-15 08:30:50,241 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:30:50,241 INFO L290 TraceCheckUtils]: 60: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:50,241 INFO L290 TraceCheckUtils]: 59: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:50,241 INFO L290 TraceCheckUtils]: 58: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:50,241 INFO L272 TraceCheckUtils]: 57: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-15 08:30:50,242 INFO L290 TraceCheckUtils]: 56: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:30:50,242 INFO L290 TraceCheckUtils]: 55: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:30:50,675 INFO L290 TraceCheckUtils]: 54: Hoare triple {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:30:50,676 INFO L290 TraceCheckUtils]: 53: Hoare triple {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 08:30:50,677 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {13556#true} {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} #72#return; {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 08:30:50,677 INFO L290 TraceCheckUtils]: 51: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:50,677 INFO L290 TraceCheckUtils]: 50: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:50,677 INFO L290 TraceCheckUtils]: 49: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:50,677 INFO L272 TraceCheckUtils]: 48: Hoare triple {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {13556#true} is VALID [2022-04-15 08:30:50,678 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #70#return; {13828#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 08:30:50,678 INFO L290 TraceCheckUtils]: 46: Hoare triple {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:30:50,679 INFO L290 TraceCheckUtils]: 45: Hoare triple {13860#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {13699#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:30:50,679 INFO L290 TraceCheckUtils]: 44: Hoare triple {13556#true} ~cond := #in~cond; {13860#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:30:50,679 INFO L272 TraceCheckUtils]: 43: Hoare triple {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {13556#true} is VALID [2022-04-15 08:30:50,680 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {13556#true} {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #68#return; {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:30:50,680 INFO L290 TraceCheckUtils]: 41: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:50,680 INFO L290 TraceCheckUtils]: 40: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:50,680 INFO L290 TraceCheckUtils]: 39: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:50,680 INFO L272 TraceCheckUtils]: 38: Hoare triple {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-15 08:30:50,681 INFO L290 TraceCheckUtils]: 37: Hoare triple {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:30:50,681 INFO L290 TraceCheckUtils]: 36: Hoare triple {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:30:50,696 INFO L290 TraceCheckUtils]: 35: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {13850#(or (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:30:50,696 INFO L290 TraceCheckUtils]: 34: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(~a~0 != ~b~0); {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:30:50,697 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #72#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:30:50,697 INFO L290 TraceCheckUtils]: 32: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:50,697 INFO L290 TraceCheckUtils]: 31: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:50,697 INFO L290 TraceCheckUtils]: 30: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:50,697 INFO L272 TraceCheckUtils]: 29: Hoare triple {13788#(= 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)); {13556#true} is VALID [2022-04-15 08:30:50,698 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:30:50,698 INFO L290 TraceCheckUtils]: 27: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:50,698 INFO L290 TraceCheckUtils]: 26: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:50,698 INFO L290 TraceCheckUtils]: 25: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:50,698 INFO L272 TraceCheckUtils]: 24: Hoare triple {13788#(= 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)); {13556#true} is VALID [2022-04-15 08:30:50,699 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13556#true} {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:30:50,699 INFO L290 TraceCheckUtils]: 22: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:50,699 INFO L290 TraceCheckUtils]: 21: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:50,699 INFO L290 TraceCheckUtils]: 20: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:50,699 INFO L272 TraceCheckUtils]: 19: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {13556#true} is VALID [2022-04-15 08:30:50,700 INFO L290 TraceCheckUtils]: 18: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:30:50,700 INFO L290 TraceCheckUtils]: 17: Hoare triple {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:30:50,700 INFO L290 TraceCheckUtils]: 16: Hoare triple {13556#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13788#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:30:50,700 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13556#true} {13556#true} #66#return; {13556#true} is VALID [2022-04-15 08:30:50,700 INFO L290 TraceCheckUtils]: 14: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:50,701 INFO L290 TraceCheckUtils]: 13: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:50,701 INFO L290 TraceCheckUtils]: 12: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:50,701 INFO L272 TraceCheckUtils]: 11: Hoare triple {13556#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-15 08:30:50,701 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13556#true} {13556#true} #64#return; {13556#true} is VALID [2022-04-15 08:30:50,701 INFO L290 TraceCheckUtils]: 9: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:50,701 INFO L290 TraceCheckUtils]: 8: Hoare triple {13556#true} assume !(0 == ~cond); {13556#true} is VALID [2022-04-15 08:30:50,701 INFO L290 TraceCheckUtils]: 7: Hoare triple {13556#true} ~cond := #in~cond; {13556#true} is VALID [2022-04-15 08:30:50,701 INFO L272 TraceCheckUtils]: 6: Hoare triple {13556#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {13556#true} is VALID [2022-04-15 08:30:50,701 INFO L290 TraceCheckUtils]: 5: Hoare triple {13556#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {13556#true} is VALID [2022-04-15 08:30:50,701 INFO L272 TraceCheckUtils]: 4: Hoare triple {13556#true} call #t~ret7 := main(); {13556#true} is VALID [2022-04-15 08:30:50,701 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13556#true} {13556#true} #82#return; {13556#true} is VALID [2022-04-15 08:30:50,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {13556#true} assume true; {13556#true} is VALID [2022-04-15 08:30:50,702 INFO L290 TraceCheckUtils]: 1: Hoare triple {13556#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {13556#true} is VALID [2022-04-15 08:30:50,702 INFO L272 TraceCheckUtils]: 0: Hoare triple {13556#true} call ULTIMATE.init(); {13556#true} is VALID [2022-04-15 08:30:50,702 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 31 proven. 18 refuted. 0 times theorem prover too weak. 100 trivial. 0 not checked. [2022-04-15 08:30:50,702 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:30:50,702 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1697798534] [2022-04-15 08:30:50,702 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:30:50,702 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [818077618] [2022-04-15 08:30:50,703 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [818077618] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:30:50,703 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:30:50,703 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-15 08:30:50,703 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:30:50,703 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1043701643] [2022-04-15 08:30:50,703 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1043701643] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:30:50,703 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:30:50,703 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 08:30:50,703 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [677279560] [2022-04-15 08:30:50,703 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:30:50,704 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 71 [2022-04-15 08:30:50,704 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:30:50,704 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-15 08:30:50,761 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:30:50,761 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 08:30:50,761 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:30:50,762 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 08:30:50,762 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-15 08:30:50,762 INFO L87 Difference]: Start difference. First operand 190 states and 232 transitions. Second operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-15 08:30:51,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:30:51,829 INFO L93 Difference]: Finished difference Result 214 states and 271 transitions. [2022-04-15 08:30:51,829 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 08:30:51,829 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) Word has length 71 [2022-04-15 08:30:51,829 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:30:51,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-15 08:30:51,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-15 08:30:51,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-15 08:30:51,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2022-04-15 08:30:51,832 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 86 transitions. [2022-04-15 08:30:51,938 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:30:51,942 INFO L225 Difference]: With dead ends: 214 [2022-04-15 08:30:51,942 INFO L226 Difference]: Without dead ends: 208 [2022-04-15 08:30:51,942 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 127 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-15 08:30:51,943 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 15 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 343 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 20 SdHoareTripleChecker+Valid, 196 SdHoareTripleChecker+Invalid, 351 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 343 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 08:30:51,943 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [20 Valid, 196 Invalid, 351 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 343 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 08:30:51,944 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 208 states. [2022-04-15 08:30:52,063 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 208 to 192. [2022-04-15 08:30:52,064 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:30:52,064 INFO L82 GeneralOperation]: Start isEquivalent. First operand 208 states. Second operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-15 08:30:52,064 INFO L74 IsIncluded]: Start isIncluded. First operand 208 states. Second operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-15 08:30:52,065 INFO L87 Difference]: Start difference. First operand 208 states. Second operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-15 08:30:52,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:30:52,070 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-15 08:30:52,070 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-15 08:30:52,071 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:30:52,071 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:30:52,071 INFO L74 IsIncluded]: Start isIncluded. First operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) Second operand 208 states. [2022-04-15 08:30:52,072 INFO L87 Difference]: Start difference. First operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) Second operand 208 states. [2022-04-15 08:30:52,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:30:52,077 INFO L93 Difference]: Finished difference Result 208 states and 259 transitions. [2022-04-15 08:30:52,077 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 259 transitions. [2022-04-15 08:30:52,078 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:30:52,078 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:30:52,078 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:30:52,078 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:30:52,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 192 states, 117 states have (on average 1.170940170940171) internal successors, (137), 125 states have internal predecessors, (137), 51 states have call successors, (51), 24 states have call predecessors, (51), 23 states have return successors, (48), 42 states have call predecessors, (48), 48 states have call successors, (48) [2022-04-15 08:30:52,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 192 states to 192 states and 236 transitions. [2022-04-15 08:30:52,083 INFO L78 Accepts]: Start accepts. Automaton has 192 states and 236 transitions. Word has length 71 [2022-04-15 08:30:52,083 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:30:52,084 INFO L478 AbstractCegarLoop]: Abstraction has 192 states and 236 transitions. [2022-04-15 08:30:52,084 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 5 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-15 08:30:52,084 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 192 states and 236 transitions. [2022-04-15 08:30:52,431 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 236 edges. 236 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:30:52,432 INFO L276 IsEmpty]: Start isEmpty. Operand 192 states and 236 transitions. [2022-04-15 08:30:52,432 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 72 [2022-04-15 08:30:52,432 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:30:52,432 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:30:52,456 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Ended with exit code 0 [2022-04-15 08:30:52,646 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:30:52,646 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:30:52,646 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:30:52,647 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 3 times [2022-04-15 08:30:52,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:30:52,647 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [729443602] [2022-04-15 08:30:52,647 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:30:52,647 INFO L85 PathProgramCache]: Analyzing trace with hash 787354729, now seen corresponding path program 4 times [2022-04-15 08:30:52,647 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:30:52,647 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1934447964] [2022-04-15 08:30:52,648 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:30:52,648 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:30:52,656 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:30:52,656 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1130510140] [2022-04-15 08:30:52,657 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:30:52,657 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:30:52,657 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:30:52,658 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-15 08:30:52,658 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-15 08:30:52,705 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:30:52,706 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:30:52,707 INFO L263 TraceCheckSpWp]: Trace formula consists of 161 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-15 08:30:52,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:30:52,720 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:30:53,241 INFO L272 TraceCheckUtils]: 0: Hoare triple {15227#true} call ULTIMATE.init(); {15227#true} is VALID [2022-04-15 08:30:53,242 INFO L290 TraceCheckUtils]: 1: Hoare triple {15227#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15227#true} is VALID [2022-04-15 08:30:53,242 INFO L290 TraceCheckUtils]: 2: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:30:53,242 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15227#true} {15227#true} #82#return; {15227#true} is VALID [2022-04-15 08:30:53,242 INFO L272 TraceCheckUtils]: 4: Hoare triple {15227#true} call #t~ret7 := main(); {15227#true} is VALID [2022-04-15 08:30:53,242 INFO L290 TraceCheckUtils]: 5: Hoare triple {15227#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15227#true} is VALID [2022-04-15 08:30:53,242 INFO L272 TraceCheckUtils]: 6: Hoare triple {15227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:30:53,242 INFO L290 TraceCheckUtils]: 7: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:30:53,242 INFO L290 TraceCheckUtils]: 8: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:30:53,242 INFO L290 TraceCheckUtils]: 9: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:30:53,242 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15227#true} {15227#true} #64#return; {15227#true} is VALID [2022-04-15 08:30:53,242 INFO L272 TraceCheckUtils]: 11: Hoare triple {15227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:30:53,242 INFO L290 TraceCheckUtils]: 12: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:30:53,242 INFO L290 TraceCheckUtils]: 13: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:30:53,243 INFO L290 TraceCheckUtils]: 14: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:30:53,243 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15227#true} {15227#true} #66#return; {15227#true} is VALID [2022-04-15 08:30:53,243 INFO L290 TraceCheckUtils]: 16: Hoare triple {15227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15280#(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-15 08:30:53,244 INFO L290 TraceCheckUtils]: 17: Hoare triple {15280#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15280#(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-15 08:30:53,244 INFO L290 TraceCheckUtils]: 18: Hoare triple {15280#(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 !!(#t~post6 < 50);havoc #t~post6; {15280#(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-15 08:30:53,244 INFO L272 TraceCheckUtils]: 19: Hoare triple {15280#(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 __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:30:53,244 INFO L290 TraceCheckUtils]: 20: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:30:53,244 INFO L290 TraceCheckUtils]: 21: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:30:53,244 INFO L290 TraceCheckUtils]: 22: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:30:53,245 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15227#true} {15280#(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))} #68#return; {15280#(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-15 08:30:53,245 INFO L272 TraceCheckUtils]: 24: Hoare triple {15280#(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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:30:53,245 INFO L290 TraceCheckUtils]: 25: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:30:53,245 INFO L290 TraceCheckUtils]: 26: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:30:53,245 INFO L290 TraceCheckUtils]: 27: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:30:53,248 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15227#true} {15280#(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))} #70#return; {15280#(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-15 08:30:53,248 INFO L272 TraceCheckUtils]: 29: Hoare triple {15280#(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 __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:30:53,248 INFO L290 TraceCheckUtils]: 30: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:30:53,248 INFO L290 TraceCheckUtils]: 31: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:30:53,248 INFO L290 TraceCheckUtils]: 32: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:30:53,249 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15227#true} {15280#(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))} #72#return; {15280#(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-15 08:30:53,250 INFO L290 TraceCheckUtils]: 34: Hoare triple {15280#(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 !!(~a~0 != ~b~0); {15280#(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-15 08:30:53,250 INFO L290 TraceCheckUtils]: 35: Hoare triple {15280#(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 !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 08:30:53,251 INFO L290 TraceCheckUtils]: 36: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 08:30:53,252 INFO L290 TraceCheckUtils]: 37: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 08:30:53,252 INFO L272 TraceCheckUtils]: 38: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:30:53,252 INFO L290 TraceCheckUtils]: 39: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:30:53,252 INFO L290 TraceCheckUtils]: 40: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:30:53,252 INFO L290 TraceCheckUtils]: 41: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:30:53,253 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15227#true} {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #68#return; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 08:30:53,253 INFO L272 TraceCheckUtils]: 43: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:30:53,253 INFO L290 TraceCheckUtils]: 44: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:30:53,253 INFO L290 TraceCheckUtils]: 45: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:30:53,253 INFO L290 TraceCheckUtils]: 46: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:30:53,254 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15227#true} {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #70#return; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 08:30:53,254 INFO L272 TraceCheckUtils]: 48: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:30:53,255 INFO L290 TraceCheckUtils]: 49: Hoare triple {15227#true} ~cond := #in~cond; {15381#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:30:53,255 INFO L290 TraceCheckUtils]: 50: Hoare triple {15381#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:30:53,256 INFO L290 TraceCheckUtils]: 51: Hoare triple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:30:53,257 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} #72#return; {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 08:30:53,257 INFO L290 TraceCheckUtils]: 53: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} is VALID [2022-04-15 08:30:53,259 INFO L290 TraceCheckUtils]: 54: Hoare triple {15338#(and (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= main_~a~0 main_~x~0) (= (+ main_~q~0 main_~p~0) 0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-15 08:30:53,259 INFO L290 TraceCheckUtils]: 55: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-15 08:30:53,260 INFO L290 TraceCheckUtils]: 56: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-15 08:30:53,260 INFO L272 TraceCheckUtils]: 57: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:30:53,260 INFO L290 TraceCheckUtils]: 58: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:30:53,260 INFO L290 TraceCheckUtils]: 59: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:30:53,260 INFO L290 TraceCheckUtils]: 60: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:30:53,261 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15227#true} {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #68#return; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-15 08:30:53,261 INFO L272 TraceCheckUtils]: 62: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:30:53,261 INFO L290 TraceCheckUtils]: 63: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:30:53,261 INFO L290 TraceCheckUtils]: 64: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:30:53,261 INFO L290 TraceCheckUtils]: 65: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:30:53,262 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15227#true} {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} #70#return; {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} is VALID [2022-04-15 08:30:53,263 INFO L272 TraceCheckUtils]: 67: Hoare triple {15398#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (+ main_~q~0 2) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:30:53,263 INFO L290 TraceCheckUtils]: 68: Hoare triple {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15442#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:30:53,264 INFO L290 TraceCheckUtils]: 69: Hoare triple {15442#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15228#false} is VALID [2022-04-15 08:30:53,264 INFO L290 TraceCheckUtils]: 70: Hoare triple {15228#false} assume !false; {15228#false} is VALID [2022-04-15 08:30:53,264 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 30 proven. 24 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-15 08:30:53,264 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:31:04,980 INFO L290 TraceCheckUtils]: 70: Hoare triple {15228#false} assume !false; {15228#false} is VALID [2022-04-15 08:31:04,980 INFO L290 TraceCheckUtils]: 69: Hoare triple {15442#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {15228#false} is VALID [2022-04-15 08:31:04,981 INFO L290 TraceCheckUtils]: 68: Hoare triple {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {15442#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:31:04,981 INFO L272 TraceCheckUtils]: 67: Hoare triple {15458#(= 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)); {15438#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:31:04,982 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {15227#true} {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:31:04,982 INFO L290 TraceCheckUtils]: 65: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:31:04,982 INFO L290 TraceCheckUtils]: 64: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:31:04,982 INFO L290 TraceCheckUtils]: 63: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:31:04,982 INFO L272 TraceCheckUtils]: 62: Hoare triple {15458#(= 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)); {15227#true} is VALID [2022-04-15 08:31:04,983 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {15227#true} {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:31:04,983 INFO L290 TraceCheckUtils]: 60: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:31:04,983 INFO L290 TraceCheckUtils]: 59: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:31:04,983 INFO L290 TraceCheckUtils]: 58: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:31:04,983 INFO L272 TraceCheckUtils]: 57: Hoare triple {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:31:04,984 INFO L290 TraceCheckUtils]: 56: Hoare triple {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:31:04,984 INFO L290 TraceCheckUtils]: 55: Hoare triple {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:31:06,202 INFO L290 TraceCheckUtils]: 54: Hoare triple {15498#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15458#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:31:06,203 INFO L290 TraceCheckUtils]: 53: Hoare triple {15498#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {15498#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 08:31:06,204 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #72#return; {15498#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 08:31:06,204 INFO L290 TraceCheckUtils]: 51: Hoare triple {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:31:06,204 INFO L290 TraceCheckUtils]: 50: Hoare triple {15515#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {15385#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:31:06,205 INFO L290 TraceCheckUtils]: 49: Hoare triple {15227#true} ~cond := #in~cond; {15515#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:31:06,205 INFO L272 TraceCheckUtils]: 48: Hoare triple {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:31:06,206 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {15227#true} {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #70#return; {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:31:06,206 INFO L290 TraceCheckUtils]: 46: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:31:06,206 INFO L290 TraceCheckUtils]: 45: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:31:06,206 INFO L290 TraceCheckUtils]: 44: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:31:06,206 INFO L272 TraceCheckUtils]: 43: Hoare triple {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:31:06,207 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {15227#true} {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #68#return; {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:31:06,207 INFO L290 TraceCheckUtils]: 41: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:31:06,207 INFO L290 TraceCheckUtils]: 40: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:31:06,207 INFO L290 TraceCheckUtils]: 39: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:31:06,207 INFO L272 TraceCheckUtils]: 38: Hoare triple {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:31:06,207 INFO L290 TraceCheckUtils]: 37: Hoare triple {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:31:06,208 INFO L290 TraceCheckUtils]: 36: Hoare triple {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:31:06,654 INFO L290 TraceCheckUtils]: 35: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {15505#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:31:06,655 INFO L290 TraceCheckUtils]: 34: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} assume !!(~a~0 != ~b~0); {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-15 08:31:06,656 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {15227#true} {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} #72#return; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-15 08:31:06,656 INFO L290 TraceCheckUtils]: 32: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:31:06,656 INFO L290 TraceCheckUtils]: 31: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:31:06,656 INFO L290 TraceCheckUtils]: 30: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:31:06,656 INFO L272 TraceCheckUtils]: 29: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:31:06,657 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {15227#true} {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} #70#return; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-15 08:31:06,657 INFO L290 TraceCheckUtils]: 27: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:31:06,657 INFO L290 TraceCheckUtils]: 26: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:31:06,657 INFO L290 TraceCheckUtils]: 25: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:31:06,657 INFO L272 TraceCheckUtils]: 24: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:31:06,658 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {15227#true} {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} #68#return; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-15 08:31:06,658 INFO L290 TraceCheckUtils]: 22: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:31:06,658 INFO L290 TraceCheckUtils]: 21: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:31:06,658 INFO L290 TraceCheckUtils]: 20: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:31:06,658 INFO L272 TraceCheckUtils]: 19: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:31:06,659 INFO L290 TraceCheckUtils]: 18: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} assume !!(#t~post6 < 50);havoc #t~post6; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-15 08:31:06,659 INFO L290 TraceCheckUtils]: 17: Hoare triple {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-15 08:31:06,660 INFO L290 TraceCheckUtils]: 16: Hoare triple {15227#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {15558#(or (not (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))) (= (+ (* main_~y~0 (+ (* (- 2) main_~r~0) main_~s~0)) (* main_~x~0 (+ main_~q~0 (* (- 2) main_~p~0)))) (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* (- 1) main_~a~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0))))))} is VALID [2022-04-15 08:31:06,660 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {15227#true} {15227#true} #66#return; {15227#true} is VALID [2022-04-15 08:31:06,660 INFO L290 TraceCheckUtils]: 14: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:31:06,660 INFO L290 TraceCheckUtils]: 13: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:31:06,660 INFO L290 TraceCheckUtils]: 12: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:31:06,660 INFO L272 TraceCheckUtils]: 11: Hoare triple {15227#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:31:06,660 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {15227#true} {15227#true} #64#return; {15227#true} is VALID [2022-04-15 08:31:06,660 INFO L290 TraceCheckUtils]: 9: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:31:06,661 INFO L290 TraceCheckUtils]: 8: Hoare triple {15227#true} assume !(0 == ~cond); {15227#true} is VALID [2022-04-15 08:31:06,661 INFO L290 TraceCheckUtils]: 7: Hoare triple {15227#true} ~cond := #in~cond; {15227#true} is VALID [2022-04-15 08:31:06,661 INFO L272 TraceCheckUtils]: 6: Hoare triple {15227#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {15227#true} is VALID [2022-04-15 08:31:06,661 INFO L290 TraceCheckUtils]: 5: Hoare triple {15227#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {15227#true} is VALID [2022-04-15 08:31:06,661 INFO L272 TraceCheckUtils]: 4: Hoare triple {15227#true} call #t~ret7 := main(); {15227#true} is VALID [2022-04-15 08:31:06,661 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {15227#true} {15227#true} #82#return; {15227#true} is VALID [2022-04-15 08:31:06,661 INFO L290 TraceCheckUtils]: 2: Hoare triple {15227#true} assume true; {15227#true} is VALID [2022-04-15 08:31:06,661 INFO L290 TraceCheckUtils]: 1: Hoare triple {15227#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {15227#true} is VALID [2022-04-15 08:31:06,661 INFO L272 TraceCheckUtils]: 0: Hoare triple {15227#true} call ULTIMATE.init(); {15227#true} is VALID [2022-04-15 08:31:06,662 INFO L134 CoverageAnalysis]: Checked inductivity of 149 backedges. 35 proven. 19 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-15 08:31:06,662 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:31:06,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1934447964] [2022-04-15 08:31:06,662 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:31:06,662 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1130510140] [2022-04-15 08:31:06,663 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1130510140] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:31:06,663 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:31:06,663 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-15 08:31:06,663 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:31:06,663 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [729443602] [2022-04-15 08:31:06,663 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [729443602] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:31:06,663 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:31:06,663 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 08:31:06,663 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1553366161] [2022-04-15 08:31:06,663 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:31:06,664 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 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 71 [2022-04-15 08:31:06,664 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:31:06,664 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 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-15 08:31:06,715 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:31:06,715 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 08:31:06,715 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:31:06,715 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 08:31:06,715 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-15 08:31:06,716 INFO L87 Difference]: Start difference. First operand 192 states and 236 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 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-15 08:31:07,815 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:31:07,816 INFO L93 Difference]: Finished difference Result 219 states and 281 transitions. [2022-04-15 08:31:07,816 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 08:31:07,816 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 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 71 [2022-04-15 08:31:07,816 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:31:07,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 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-15 08:31:07,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-15 08:31:07,818 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 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-15 08:31:07,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 86 transitions. [2022-04-15 08:31:07,819 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 86 transitions. [2022-04-15 08:31:07,934 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:31:07,939 INFO L225 Difference]: With dead ends: 219 [2022-04-15 08:31:07,939 INFO L226 Difference]: Without dead ends: 210 [2022-04-15 08:31:07,940 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 143 GetRequests, 127 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=54, Invalid=186, Unknown=0, NotChecked=0, Total=240 [2022-04-15 08:31:07,940 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 15 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 322 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 185 SdHoareTripleChecker+Invalid, 330 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 322 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-15 08:31:07,940 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 185 Invalid, 330 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 322 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-15 08:31:07,941 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 210 states. [2022-04-15 08:31:08,065 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 210 to 208. [2022-04-15 08:31:08,065 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:31:08,066 INFO L82 GeneralOperation]: Start isEquivalent. First operand 210 states. Second operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-15 08:31:08,066 INFO L74 IsIncluded]: Start isIncluded. First operand 210 states. Second operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-15 08:31:08,067 INFO L87 Difference]: Start difference. First operand 210 states. Second operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-15 08:31:08,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:31:08,072 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-15 08:31:08,072 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-15 08:31:08,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:31:08,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:31:08,073 INFO L74 IsIncluded]: Start isIncluded. First operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-15 08:31:08,073 INFO L87 Difference]: Start difference. First operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) Second operand 210 states. [2022-04-15 08:31:08,078 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:31:08,079 INFO L93 Difference]: Finished difference Result 210 states and 263 transitions. [2022-04-15 08:31:08,079 INFO L276 IsEmpty]: Start isEmpty. Operand 210 states and 263 transitions. [2022-04-15 08:31:08,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:31:08,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:31:08,080 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:31:08,080 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:31:08,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 208 states, 126 states have (on average 1.1825396825396826) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 25 states have call predecessors, (57), 24 states have return successors, (54), 48 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-15 08:31:08,085 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 208 states to 208 states and 260 transitions. [2022-04-15 08:31:08,086 INFO L78 Accepts]: Start accepts. Automaton has 208 states and 260 transitions. Word has length 71 [2022-04-15 08:31:08,086 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:31:08,086 INFO L478 AbstractCegarLoop]: Abstraction has 208 states and 260 transitions. [2022-04-15 08:31:08,086 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 8 states have internal predecessors, (26), 4 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-15 08:31:08,086 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 208 states and 260 transitions. [2022-04-15 08:31:08,497 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 260 edges. 260 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:31:08,497 INFO L276 IsEmpty]: Start isEmpty. Operand 208 states and 260 transitions. [2022-04-15 08:31:08,498 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 81 [2022-04-15 08:31:08,498 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:31:08,498 INFO L499 BasicCegarLoop]: trace histogram [10, 9, 9, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:31:08,515 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-15 08:31:08,698 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,SelfDestructingSolverStorable16 [2022-04-15 08:31:08,699 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:31:08,699 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:31:08,699 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 5 times [2022-04-15 08:31:08,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:31:08,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2106321214] [2022-04-15 08:31:08,700 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:31:08,700 INFO L85 PathProgramCache]: Analyzing trace with hash -1898774094, now seen corresponding path program 6 times [2022-04-15 08:31:08,700 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:31:08,700 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [672540109] [2022-04-15 08:31:08,700 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:31:08,701 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:31:08,712 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:31:08,712 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [484886823] [2022-04-15 08:31:08,712 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 08:31:08,712 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:31:08,713 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:31:08,713 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-15 08:31:08,714 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-15 08:31:08,765 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 6 check-sat command(s) [2022-04-15 08:31:08,765 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:31:08,766 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 08:31:08,780 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:31:08,783 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:31:09,107 INFO L272 TraceCheckUtils]: 0: Hoare triple {16944#true} call ULTIMATE.init(); {16944#true} is VALID [2022-04-15 08:31:09,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {16944#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {16952#(<= ~counter~0 0)} assume true; {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,109 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16952#(<= ~counter~0 0)} {16944#true} #82#return; {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,109 INFO L272 TraceCheckUtils]: 4: Hoare triple {16952#(<= ~counter~0 0)} call #t~ret7 := main(); {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,110 INFO L290 TraceCheckUtils]: 5: Hoare triple {16952#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,110 INFO L272 TraceCheckUtils]: 6: Hoare triple {16952#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,110 INFO L290 TraceCheckUtils]: 7: Hoare triple {16952#(<= ~counter~0 0)} ~cond := #in~cond; {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,111 INFO L290 TraceCheckUtils]: 8: Hoare triple {16952#(<= ~counter~0 0)} assume !(0 == ~cond); {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,111 INFO L290 TraceCheckUtils]: 9: Hoare triple {16952#(<= ~counter~0 0)} assume true; {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,112 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16952#(<= ~counter~0 0)} {16952#(<= ~counter~0 0)} #64#return; {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,112 INFO L272 TraceCheckUtils]: 11: Hoare triple {16952#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,113 INFO L290 TraceCheckUtils]: 12: Hoare triple {16952#(<= ~counter~0 0)} ~cond := #in~cond; {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,113 INFO L290 TraceCheckUtils]: 13: Hoare triple {16952#(<= ~counter~0 0)} assume !(0 == ~cond); {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,113 INFO L290 TraceCheckUtils]: 14: Hoare triple {16952#(<= ~counter~0 0)} assume true; {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,114 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16952#(<= ~counter~0 0)} {16952#(<= ~counter~0 0)} #66#return; {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,114 INFO L290 TraceCheckUtils]: 16: Hoare triple {16952#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16952#(<= ~counter~0 0)} is VALID [2022-04-15 08:31:09,115 INFO L290 TraceCheckUtils]: 17: Hoare triple {16952#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,115 INFO L290 TraceCheckUtils]: 18: Hoare triple {17001#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,116 INFO L272 TraceCheckUtils]: 19: Hoare triple {17001#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,116 INFO L290 TraceCheckUtils]: 20: Hoare triple {17001#(<= ~counter~0 1)} ~cond := #in~cond; {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,117 INFO L290 TraceCheckUtils]: 21: Hoare triple {17001#(<= ~counter~0 1)} assume !(0 == ~cond); {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,117 INFO L290 TraceCheckUtils]: 22: Hoare triple {17001#(<= ~counter~0 1)} assume true; {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,118 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {17001#(<= ~counter~0 1)} {17001#(<= ~counter~0 1)} #68#return; {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,118 INFO L272 TraceCheckUtils]: 24: Hoare triple {17001#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,119 INFO L290 TraceCheckUtils]: 25: Hoare triple {17001#(<= ~counter~0 1)} ~cond := #in~cond; {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,119 INFO L290 TraceCheckUtils]: 26: Hoare triple {17001#(<= ~counter~0 1)} assume !(0 == ~cond); {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,120 INFO L290 TraceCheckUtils]: 27: Hoare triple {17001#(<= ~counter~0 1)} assume true; {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,120 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {17001#(<= ~counter~0 1)} {17001#(<= ~counter~0 1)} #70#return; {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,121 INFO L272 TraceCheckUtils]: 29: Hoare triple {17001#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,121 INFO L290 TraceCheckUtils]: 30: Hoare triple {17001#(<= ~counter~0 1)} ~cond := #in~cond; {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,122 INFO L290 TraceCheckUtils]: 31: Hoare triple {17001#(<= ~counter~0 1)} assume !(0 == ~cond); {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,122 INFO L290 TraceCheckUtils]: 32: Hoare triple {17001#(<= ~counter~0 1)} assume true; {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,123 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {17001#(<= ~counter~0 1)} {17001#(<= ~counter~0 1)} #72#return; {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,123 INFO L290 TraceCheckUtils]: 34: Hoare triple {17001#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,124 INFO L290 TraceCheckUtils]: 35: Hoare triple {17001#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17001#(<= ~counter~0 1)} is VALID [2022-04-15 08:31:09,125 INFO L290 TraceCheckUtils]: 36: Hoare triple {17001#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,125 INFO L290 TraceCheckUtils]: 37: Hoare triple {17059#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,126 INFO L272 TraceCheckUtils]: 38: Hoare triple {17059#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,126 INFO L290 TraceCheckUtils]: 39: Hoare triple {17059#(<= ~counter~0 2)} ~cond := #in~cond; {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,127 INFO L290 TraceCheckUtils]: 40: Hoare triple {17059#(<= ~counter~0 2)} assume !(0 == ~cond); {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,127 INFO L290 TraceCheckUtils]: 41: Hoare triple {17059#(<= ~counter~0 2)} assume true; {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,128 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {17059#(<= ~counter~0 2)} {17059#(<= ~counter~0 2)} #68#return; {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,129 INFO L272 TraceCheckUtils]: 43: Hoare triple {17059#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,129 INFO L290 TraceCheckUtils]: 44: Hoare triple {17059#(<= ~counter~0 2)} ~cond := #in~cond; {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,129 INFO L290 TraceCheckUtils]: 45: Hoare triple {17059#(<= ~counter~0 2)} assume !(0 == ~cond); {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,130 INFO L290 TraceCheckUtils]: 46: Hoare triple {17059#(<= ~counter~0 2)} assume true; {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,130 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {17059#(<= ~counter~0 2)} {17059#(<= ~counter~0 2)} #70#return; {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,131 INFO L272 TraceCheckUtils]: 48: Hoare triple {17059#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,132 INFO L290 TraceCheckUtils]: 49: Hoare triple {17059#(<= ~counter~0 2)} ~cond := #in~cond; {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,132 INFO L290 TraceCheckUtils]: 50: Hoare triple {17059#(<= ~counter~0 2)} assume !(0 == ~cond); {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,132 INFO L290 TraceCheckUtils]: 51: Hoare triple {17059#(<= ~counter~0 2)} assume true; {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,133 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {17059#(<= ~counter~0 2)} {17059#(<= ~counter~0 2)} #72#return; {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,134 INFO L290 TraceCheckUtils]: 53: Hoare triple {17059#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,134 INFO L290 TraceCheckUtils]: 54: Hoare triple {17059#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17059#(<= ~counter~0 2)} is VALID [2022-04-15 08:31:09,135 INFO L290 TraceCheckUtils]: 55: Hoare triple {17059#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,135 INFO L290 TraceCheckUtils]: 56: Hoare triple {17117#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,136 INFO L272 TraceCheckUtils]: 57: Hoare triple {17117#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,136 INFO L290 TraceCheckUtils]: 58: Hoare triple {17117#(<= ~counter~0 3)} ~cond := #in~cond; {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,137 INFO L290 TraceCheckUtils]: 59: Hoare triple {17117#(<= ~counter~0 3)} assume !(0 == ~cond); {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,137 INFO L290 TraceCheckUtils]: 60: Hoare triple {17117#(<= ~counter~0 3)} assume true; {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,138 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {17117#(<= ~counter~0 3)} {17117#(<= ~counter~0 3)} #68#return; {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,139 INFO L272 TraceCheckUtils]: 62: Hoare triple {17117#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,139 INFO L290 TraceCheckUtils]: 63: Hoare triple {17117#(<= ~counter~0 3)} ~cond := #in~cond; {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,139 INFO L290 TraceCheckUtils]: 64: Hoare triple {17117#(<= ~counter~0 3)} assume !(0 == ~cond); {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,140 INFO L290 TraceCheckUtils]: 65: Hoare triple {17117#(<= ~counter~0 3)} assume true; {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,140 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {17117#(<= ~counter~0 3)} {17117#(<= ~counter~0 3)} #70#return; {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,141 INFO L272 TraceCheckUtils]: 67: Hoare triple {17117#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,141 INFO L290 TraceCheckUtils]: 68: Hoare triple {17117#(<= ~counter~0 3)} ~cond := #in~cond; {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,142 INFO L290 TraceCheckUtils]: 69: Hoare triple {17117#(<= ~counter~0 3)} assume !(0 == ~cond); {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,142 INFO L290 TraceCheckUtils]: 70: Hoare triple {17117#(<= ~counter~0 3)} assume true; {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,143 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {17117#(<= ~counter~0 3)} {17117#(<= ~counter~0 3)} #72#return; {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,143 INFO L290 TraceCheckUtils]: 72: Hoare triple {17117#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,143 INFO L290 TraceCheckUtils]: 73: Hoare triple {17117#(<= ~counter~0 3)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17117#(<= ~counter~0 3)} is VALID [2022-04-15 08:31:09,144 INFO L290 TraceCheckUtils]: 74: Hoare triple {17117#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17175#(<= |main_#t~post6| 3)} is VALID [2022-04-15 08:31:09,144 INFO L290 TraceCheckUtils]: 75: Hoare triple {17175#(<= |main_#t~post6| 3)} assume !(#t~post6 < 50);havoc #t~post6; {16945#false} is VALID [2022-04-15 08:31:09,145 INFO L272 TraceCheckUtils]: 76: Hoare triple {16945#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16945#false} is VALID [2022-04-15 08:31:09,145 INFO L290 TraceCheckUtils]: 77: Hoare triple {16945#false} ~cond := #in~cond; {16945#false} is VALID [2022-04-15 08:31:09,145 INFO L290 TraceCheckUtils]: 78: Hoare triple {16945#false} assume 0 == ~cond; {16945#false} is VALID [2022-04-15 08:31:09,145 INFO L290 TraceCheckUtils]: 79: Hoare triple {16945#false} assume !false; {16945#false} is VALID [2022-04-15 08:31:09,145 INFO L134 CoverageAnalysis]: Checked inductivity of 193 backedges. 18 proven. 135 refuted. 0 times theorem prover too weak. 40 trivial. 0 not checked. [2022-04-15 08:31:09,145 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:31:09,457 INFO L290 TraceCheckUtils]: 79: Hoare triple {16945#false} assume !false; {16945#false} is VALID [2022-04-15 08:31:09,457 INFO L290 TraceCheckUtils]: 78: Hoare triple {16945#false} assume 0 == ~cond; {16945#false} is VALID [2022-04-15 08:31:09,457 INFO L290 TraceCheckUtils]: 77: Hoare triple {16945#false} ~cond := #in~cond; {16945#false} is VALID [2022-04-15 08:31:09,457 INFO L272 TraceCheckUtils]: 76: Hoare triple {16945#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {16945#false} is VALID [2022-04-15 08:31:09,459 INFO L290 TraceCheckUtils]: 75: Hoare triple {17203#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {16945#false} is VALID [2022-04-15 08:31:09,460 INFO L290 TraceCheckUtils]: 74: Hoare triple {17207#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17203#(< |main_#t~post6| 50)} is VALID [2022-04-15 08:31:09,460 INFO L290 TraceCheckUtils]: 73: Hoare triple {17207#(< ~counter~0 50)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17207#(< ~counter~0 50)} is VALID [2022-04-15 08:31:09,460 INFO L290 TraceCheckUtils]: 72: Hoare triple {17207#(< ~counter~0 50)} assume !!(~a~0 != ~b~0); {17207#(< ~counter~0 50)} is VALID [2022-04-15 08:31:09,461 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {16944#true} {17207#(< ~counter~0 50)} #72#return; {17207#(< ~counter~0 50)} is VALID [2022-04-15 08:31:09,461 INFO L290 TraceCheckUtils]: 70: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-15 08:31:09,461 INFO L290 TraceCheckUtils]: 69: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-15 08:31:09,461 INFO L290 TraceCheckUtils]: 68: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-15 08:31:09,462 INFO L272 TraceCheckUtils]: 67: Hoare triple {17207#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16944#true} is VALID [2022-04-15 08:31:09,462 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {16944#true} {17207#(< ~counter~0 50)} #70#return; {17207#(< ~counter~0 50)} is VALID [2022-04-15 08:31:09,462 INFO L290 TraceCheckUtils]: 65: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-15 08:31:09,462 INFO L290 TraceCheckUtils]: 64: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-15 08:31:09,463 INFO L290 TraceCheckUtils]: 63: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-15 08:31:09,463 INFO L272 TraceCheckUtils]: 62: Hoare triple {17207#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16944#true} is VALID [2022-04-15 08:31:09,463 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {16944#true} {17207#(< ~counter~0 50)} #68#return; {17207#(< ~counter~0 50)} is VALID [2022-04-15 08:31:09,463 INFO L290 TraceCheckUtils]: 60: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-15 08:31:09,464 INFO L290 TraceCheckUtils]: 59: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-15 08:31:09,464 INFO L290 TraceCheckUtils]: 58: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-15 08:31:09,464 INFO L272 TraceCheckUtils]: 57: Hoare triple {17207#(< ~counter~0 50)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16944#true} is VALID [2022-04-15 08:31:09,464 INFO L290 TraceCheckUtils]: 56: Hoare triple {17207#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {17207#(< ~counter~0 50)} is VALID [2022-04-15 08:31:09,465 INFO L290 TraceCheckUtils]: 55: Hoare triple {17265#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17207#(< ~counter~0 50)} is VALID [2022-04-15 08:31:09,465 INFO L290 TraceCheckUtils]: 54: Hoare triple {17265#(< ~counter~0 49)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17265#(< ~counter~0 49)} is VALID [2022-04-15 08:31:09,466 INFO L290 TraceCheckUtils]: 53: Hoare triple {17265#(< ~counter~0 49)} assume !!(~a~0 != ~b~0); {17265#(< ~counter~0 49)} is VALID [2022-04-15 08:31:09,467 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {16944#true} {17265#(< ~counter~0 49)} #72#return; {17265#(< ~counter~0 49)} is VALID [2022-04-15 08:31:09,467 INFO L290 TraceCheckUtils]: 51: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-15 08:31:09,467 INFO L290 TraceCheckUtils]: 50: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-15 08:31:09,467 INFO L290 TraceCheckUtils]: 49: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-15 08:31:09,467 INFO L272 TraceCheckUtils]: 48: Hoare triple {17265#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16944#true} is VALID [2022-04-15 08:31:09,468 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {16944#true} {17265#(< ~counter~0 49)} #70#return; {17265#(< ~counter~0 49)} is VALID [2022-04-15 08:31:09,468 INFO L290 TraceCheckUtils]: 46: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-15 08:31:09,468 INFO L290 TraceCheckUtils]: 45: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-15 08:31:09,468 INFO L290 TraceCheckUtils]: 44: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-15 08:31:09,468 INFO L272 TraceCheckUtils]: 43: Hoare triple {17265#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16944#true} is VALID [2022-04-15 08:31:09,468 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {16944#true} {17265#(< ~counter~0 49)} #68#return; {17265#(< ~counter~0 49)} is VALID [2022-04-15 08:31:09,469 INFO L290 TraceCheckUtils]: 41: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-15 08:31:09,469 INFO L290 TraceCheckUtils]: 40: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-15 08:31:09,469 INFO L290 TraceCheckUtils]: 39: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-15 08:31:09,469 INFO L272 TraceCheckUtils]: 38: Hoare triple {17265#(< ~counter~0 49)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16944#true} is VALID [2022-04-15 08:31:09,469 INFO L290 TraceCheckUtils]: 37: Hoare triple {17265#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {17265#(< ~counter~0 49)} is VALID [2022-04-15 08:31:09,470 INFO L290 TraceCheckUtils]: 36: Hoare triple {17323#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17265#(< ~counter~0 49)} is VALID [2022-04-15 08:31:09,470 INFO L290 TraceCheckUtils]: 35: Hoare triple {17323#(< ~counter~0 48)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {17323#(< ~counter~0 48)} is VALID [2022-04-15 08:31:09,471 INFO L290 TraceCheckUtils]: 34: Hoare triple {17323#(< ~counter~0 48)} assume !!(~a~0 != ~b~0); {17323#(< ~counter~0 48)} is VALID [2022-04-15 08:31:09,471 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {16944#true} {17323#(< ~counter~0 48)} #72#return; {17323#(< ~counter~0 48)} is VALID [2022-04-15 08:31:09,471 INFO L290 TraceCheckUtils]: 32: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-15 08:31:09,472 INFO L290 TraceCheckUtils]: 31: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-15 08:31:09,472 INFO L290 TraceCheckUtils]: 30: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-15 08:31:09,472 INFO L272 TraceCheckUtils]: 29: Hoare triple {17323#(< ~counter~0 48)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16944#true} is VALID [2022-04-15 08:31:09,472 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {16944#true} {17323#(< ~counter~0 48)} #70#return; {17323#(< ~counter~0 48)} is VALID [2022-04-15 08:31:09,472 INFO L290 TraceCheckUtils]: 27: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-15 08:31:09,472 INFO L290 TraceCheckUtils]: 26: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-15 08:31:09,472 INFO L290 TraceCheckUtils]: 25: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-15 08:31:09,472 INFO L272 TraceCheckUtils]: 24: Hoare triple {17323#(< ~counter~0 48)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16944#true} is VALID [2022-04-15 08:31:09,473 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {16944#true} {17323#(< ~counter~0 48)} #68#return; {17323#(< ~counter~0 48)} is VALID [2022-04-15 08:31:09,473 INFO L290 TraceCheckUtils]: 22: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-15 08:31:09,473 INFO L290 TraceCheckUtils]: 21: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-15 08:31:09,473 INFO L290 TraceCheckUtils]: 20: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-15 08:31:09,473 INFO L272 TraceCheckUtils]: 19: Hoare triple {17323#(< ~counter~0 48)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16944#true} is VALID [2022-04-15 08:31:09,474 INFO L290 TraceCheckUtils]: 18: Hoare triple {17323#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {17323#(< ~counter~0 48)} is VALID [2022-04-15 08:31:09,474 INFO L290 TraceCheckUtils]: 17: Hoare triple {17381#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {17323#(< ~counter~0 48)} is VALID [2022-04-15 08:31:09,475 INFO L290 TraceCheckUtils]: 16: Hoare triple {17381#(< ~counter~0 47)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {17381#(< ~counter~0 47)} is VALID [2022-04-15 08:31:09,475 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16944#true} {17381#(< ~counter~0 47)} #66#return; {17381#(< ~counter~0 47)} is VALID [2022-04-15 08:31:09,475 INFO L290 TraceCheckUtils]: 14: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-15 08:31:09,475 INFO L290 TraceCheckUtils]: 13: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-15 08:31:09,475 INFO L290 TraceCheckUtils]: 12: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-15 08:31:09,475 INFO L272 TraceCheckUtils]: 11: Hoare triple {17381#(< ~counter~0 47)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16944#true} is VALID [2022-04-15 08:31:09,476 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16944#true} {17381#(< ~counter~0 47)} #64#return; {17381#(< ~counter~0 47)} is VALID [2022-04-15 08:31:09,476 INFO L290 TraceCheckUtils]: 9: Hoare triple {16944#true} assume true; {16944#true} is VALID [2022-04-15 08:31:09,476 INFO L290 TraceCheckUtils]: 8: Hoare triple {16944#true} assume !(0 == ~cond); {16944#true} is VALID [2022-04-15 08:31:09,476 INFO L290 TraceCheckUtils]: 7: Hoare triple {16944#true} ~cond := #in~cond; {16944#true} is VALID [2022-04-15 08:31:09,476 INFO L272 TraceCheckUtils]: 6: Hoare triple {17381#(< ~counter~0 47)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16944#true} is VALID [2022-04-15 08:31:09,476 INFO L290 TraceCheckUtils]: 5: Hoare triple {17381#(< ~counter~0 47)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {17381#(< ~counter~0 47)} is VALID [2022-04-15 08:31:09,477 INFO L272 TraceCheckUtils]: 4: Hoare triple {17381#(< ~counter~0 47)} call #t~ret7 := main(); {17381#(< ~counter~0 47)} is VALID [2022-04-15 08:31:09,477 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {17381#(< ~counter~0 47)} {16944#true} #82#return; {17381#(< ~counter~0 47)} is VALID [2022-04-15 08:31:09,477 INFO L290 TraceCheckUtils]: 2: Hoare triple {17381#(< ~counter~0 47)} assume true; {17381#(< ~counter~0 47)} is VALID [2022-04-15 08:31:09,478 INFO L290 TraceCheckUtils]: 1: Hoare triple {16944#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {17381#(< ~counter~0 47)} is VALID [2022-04-15 08:31:09,478 INFO L272 TraceCheckUtils]: 0: Hoare triple {16944#true} call ULTIMATE.init(); {16944#true} is VALID [2022-04-15 08:31:09,478 INFO L134 CoverageAnalysis]: Checked inductivity of 193 backedges. 18 proven. 27 refuted. 0 times theorem prover too weak. 148 trivial. 0 not checked. [2022-04-15 08:31:09,478 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:31:09,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [672540109] [2022-04-15 08:31:09,478 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:31:09,478 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [484886823] [2022-04-15 08:31:09,478 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [484886823] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:31:09,478 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:31:09,479 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 12 [2022-04-15 08:31:09,479 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:31:09,479 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2106321214] [2022-04-15 08:31:09,479 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2106321214] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:31:09,479 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:31:09,479 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 08:31:09,479 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [870158101] [2022-04-15 08:31:09,479 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:31:09,479 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-15 08:31:09,480 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:31:09,480 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 08:31:09,526 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:31:09,527 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 08:31:09,527 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:31:09,527 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 08:31:09,527 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2022-04-15 08:31:09,527 INFO L87 Difference]: Start difference. First operand 208 states and 260 transitions. Second operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 08:31:09,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:31:09,889 INFO L93 Difference]: Finished difference Result 277 states and 329 transitions. [2022-04-15 08:31:09,889 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 08:31:09,889 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) Word has length 80 [2022-04-15 08:31:09,889 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:31:09,889 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 08:31:09,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-15 08:31:09,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 08:31:09,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-15 08:31:09,892 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-15 08:31:09,983 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:31:09,988 INFO L225 Difference]: With dead ends: 277 [2022-04-15 08:31:09,989 INFO L226 Difference]: Without dead ends: 250 [2022-04-15 08:31:09,989 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 149 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 13 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2022-04-15 08:31:09,990 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 10 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 40 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 47 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 40 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-15 08:31:09,990 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 163 Invalid, 47 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 40 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-15 08:31:09,990 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 250 states. [2022-04-15 08:31:10,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 250 to 229. [2022-04-15 08:31:10,147 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:31:10,147 INFO L82 GeneralOperation]: Start isEquivalent. First operand 250 states. Second operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-15 08:31:10,147 INFO L74 IsIncluded]: Start isIncluded. First operand 250 states. Second operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-15 08:31:10,148 INFO L87 Difference]: Start difference. First operand 250 states. Second operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-15 08:31:10,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:31:10,154 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-15 08:31:10,154 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-15 08:31:10,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:31:10,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:31:10,155 INFO L74 IsIncluded]: Start isIncluded. First operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 250 states. [2022-04-15 08:31:10,155 INFO L87 Difference]: Start difference. First operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) Second operand 250 states. [2022-04-15 08:31:10,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:31:10,161 INFO L93 Difference]: Finished difference Result 250 states and 294 transitions. [2022-04-15 08:31:10,161 INFO L276 IsEmpty]: Start isEmpty. Operand 250 states and 294 transitions. [2022-04-15 08:31:10,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:31:10,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:31:10,162 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:31:10,162 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:31:10,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 229 states, 146 states have (on average 1.143835616438356) internal successors, (167), 153 states have internal predecessors, (167), 52 states have call successors, (52), 31 states have call predecessors, (52), 30 states have return successors, (49), 44 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-15 08:31:10,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 229 states to 229 states and 268 transitions. [2022-04-15 08:31:10,169 INFO L78 Accepts]: Start accepts. Automaton has 229 states and 268 transitions. Word has length 80 [2022-04-15 08:31:10,169 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:31:10,169 INFO L478 AbstractCegarLoop]: Abstraction has 229 states and 268 transitions. [2022-04-15 08:31:10,169 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.714285714285714) internal successors, (33), 6 states have internal predecessors, (33), 6 states have call successors, (14), 6 states have call predecessors, (14), 4 states have return successors, (12), 4 states have call predecessors, (12), 5 states have call successors, (12) [2022-04-15 08:31:10,170 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 229 states and 268 transitions. [2022-04-15 08:31:10,654 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 268 edges. 268 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:31:10,654 INFO L276 IsEmpty]: Start isEmpty. Operand 229 states and 268 transitions. [2022-04-15 08:31:10,655 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-15 08:31:10,656 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:31:10,656 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:31:10,683 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-15 08:31:10,856 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,SelfDestructingSolverStorable17 [2022-04-15 08:31:10,856 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:31:10,857 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:31:10,857 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 7 times [2022-04-15 08:31:10,857 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:31:10,857 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1297784770] [2022-04-15 08:31:10,857 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:31:10,857 INFO L85 PathProgramCache]: Analyzing trace with hash 629296923, now seen corresponding path program 8 times [2022-04-15 08:31:10,857 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:31:10,858 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1687651396] [2022-04-15 08:31:10,858 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:31:10,858 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:31:10,869 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:31:10,869 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [7074557] [2022-04-15 08:31:10,869 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:31:10,869 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:31:10,870 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:31:10,871 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-15 08:31:10,872 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-15 08:31:10,930 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:31:10,930 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:31:10,931 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 08:31:10,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:31:10,947 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:31:11,741 INFO L272 TraceCheckUtils]: 0: Hoare triple {18953#true} call ULTIMATE.init(); {18953#true} is VALID [2022-04-15 08:31:11,741 INFO L290 TraceCheckUtils]: 1: Hoare triple {18953#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18953#true} is VALID [2022-04-15 08:31:11,741 INFO L290 TraceCheckUtils]: 2: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:11,741 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18953#true} {18953#true} #82#return; {18953#true} is VALID [2022-04-15 08:31:11,741 INFO L272 TraceCheckUtils]: 4: Hoare triple {18953#true} call #t~ret7 := main(); {18953#true} is VALID [2022-04-15 08:31:11,741 INFO L290 TraceCheckUtils]: 5: Hoare triple {18953#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18953#true} is VALID [2022-04-15 08:31:11,741 INFO L272 TraceCheckUtils]: 6: Hoare triple {18953#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:11,741 INFO L290 TraceCheckUtils]: 7: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:11,742 INFO L290 TraceCheckUtils]: 8: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:11,742 INFO L290 TraceCheckUtils]: 9: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:11,742 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18953#true} {18953#true} #64#return; {18953#true} is VALID [2022-04-15 08:31:11,742 INFO L272 TraceCheckUtils]: 11: Hoare triple {18953#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:11,747 INFO L290 TraceCheckUtils]: 12: Hoare triple {18953#true} ~cond := #in~cond; {18994#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-15 08:31:11,748 INFO L290 TraceCheckUtils]: 13: Hoare triple {18994#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {18998#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:31:11,748 INFO L290 TraceCheckUtils]: 14: Hoare triple {18998#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {18998#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-15 08:31:11,749 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18998#(not (= |assume_abort_if_not_#in~cond| 0))} {18953#true} #66#return; {19005#(<= 1 main_~y~0)} is VALID [2022-04-15 08:31:11,749 INFO L290 TraceCheckUtils]: 16: Hoare triple {19005#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:31:11,750 INFO L290 TraceCheckUtils]: 17: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:31:11,750 INFO L290 TraceCheckUtils]: 18: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:31:11,751 INFO L272 TraceCheckUtils]: 19: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:11,751 INFO L290 TraceCheckUtils]: 20: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:11,751 INFO L290 TraceCheckUtils]: 21: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:11,751 INFO L290 TraceCheckUtils]: 22: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:11,752 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18953#true} {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:31:11,752 INFO L272 TraceCheckUtils]: 24: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~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)); {18953#true} is VALID [2022-04-15 08:31:11,752 INFO L290 TraceCheckUtils]: 25: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:11,752 INFO L290 TraceCheckUtils]: 26: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:11,752 INFO L290 TraceCheckUtils]: 27: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:11,753 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18953#true} {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:31:11,753 INFO L272 TraceCheckUtils]: 29: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~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)); {18953#true} is VALID [2022-04-15 08:31:11,753 INFO L290 TraceCheckUtils]: 30: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:11,753 INFO L290 TraceCheckUtils]: 31: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:11,753 INFO L290 TraceCheckUtils]: 32: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:11,754 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18953#true} {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:31:11,754 INFO L290 TraceCheckUtils]: 34: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:31:11,755 INFO L290 TraceCheckUtils]: 35: Hoare triple {19009#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:31:11,755 INFO L290 TraceCheckUtils]: 36: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:31:11,756 INFO L290 TraceCheckUtils]: 37: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:31:11,756 INFO L272 TraceCheckUtils]: 38: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:11,756 INFO L290 TraceCheckUtils]: 39: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:11,756 INFO L290 TraceCheckUtils]: 40: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:11,756 INFO L290 TraceCheckUtils]: 41: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:11,756 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18953#true} {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:31:11,757 INFO L272 TraceCheckUtils]: 43: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:11,757 INFO L290 TraceCheckUtils]: 44: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:11,757 INFO L290 TraceCheckUtils]: 45: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:11,757 INFO L290 TraceCheckUtils]: 46: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:11,757 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18953#true} {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:31:11,757 INFO L272 TraceCheckUtils]: 48: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:11,758 INFO L290 TraceCheckUtils]: 49: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:11,758 INFO L290 TraceCheckUtils]: 50: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:11,758 INFO L290 TraceCheckUtils]: 51: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:11,758 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18953#true} {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:31:11,759 INFO L290 TraceCheckUtils]: 53: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:31:11,759 INFO L290 TraceCheckUtils]: 54: Hoare triple {19067#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 main_~y~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-15 08:31:11,760 INFO L290 TraceCheckUtils]: 55: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-15 08:31:11,760 INFO L290 TraceCheckUtils]: 56: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(#t~post6 < 50);havoc #t~post6; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-15 08:31:11,761 INFO L272 TraceCheckUtils]: 57: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:11,761 INFO L290 TraceCheckUtils]: 58: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:11,761 INFO L290 TraceCheckUtils]: 59: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:11,761 INFO L290 TraceCheckUtils]: 60: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:11,761 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18953#true} {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #68#return; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-15 08:31:11,762 INFO L272 TraceCheckUtils]: 62: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:11,762 INFO L290 TraceCheckUtils]: 63: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:11,762 INFO L290 TraceCheckUtils]: 64: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:11,762 INFO L290 TraceCheckUtils]: 65: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:11,762 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18953#true} {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #70#return; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-15 08:31:11,762 INFO L272 TraceCheckUtils]: 67: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:11,762 INFO L290 TraceCheckUtils]: 68: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:11,763 INFO L290 TraceCheckUtils]: 69: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:11,763 INFO L290 TraceCheckUtils]: 70: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:11,763 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18953#true} {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} #72#return; {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-15 08:31:11,764 INFO L290 TraceCheckUtils]: 72: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} is VALID [2022-04-15 08:31:11,765 INFO L290 TraceCheckUtils]: 73: Hoare triple {19125#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~x~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= 1 main_~y~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 08:31:11,765 INFO L290 TraceCheckUtils]: 74: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 08:31:11,765 INFO L290 TraceCheckUtils]: 75: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 08:31:11,766 INFO L272 TraceCheckUtils]: 76: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:11,766 INFO L290 TraceCheckUtils]: 77: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:11,766 INFO L290 TraceCheckUtils]: 78: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:11,766 INFO L290 TraceCheckUtils]: 79: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:11,766 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18953#true} {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #68#return; {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 08:31:11,768 INFO L272 TraceCheckUtils]: 81: Hoare triple {19183#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:31:11,768 INFO L290 TraceCheckUtils]: 82: Hoare triple {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19212#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:31:11,768 INFO L290 TraceCheckUtils]: 83: Hoare triple {19212#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18954#false} is VALID [2022-04-15 08:31:11,768 INFO L290 TraceCheckUtils]: 84: Hoare triple {18954#false} assume !false; {18954#false} is VALID [2022-04-15 08:31:11,769 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 23 proven. 33 refuted. 0 times theorem prover too weak. 181 trivial. 0 not checked. [2022-04-15 08:31:11,769 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:31:12,167 INFO L290 TraceCheckUtils]: 84: Hoare triple {18954#false} assume !false; {18954#false} is VALID [2022-04-15 08:31:12,168 INFO L290 TraceCheckUtils]: 83: Hoare triple {19212#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18954#false} is VALID [2022-04-15 08:31:12,168 INFO L290 TraceCheckUtils]: 82: Hoare triple {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {19212#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:31:12,169 INFO L272 TraceCheckUtils]: 81: Hoare triple {19228#(= 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)); {19208#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:31:12,169 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {18953#true} {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:31:12,169 INFO L290 TraceCheckUtils]: 79: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:12,169 INFO L290 TraceCheckUtils]: 78: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:12,169 INFO L290 TraceCheckUtils]: 77: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:12,170 INFO L272 TraceCheckUtils]: 76: Hoare triple {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:12,170 INFO L290 TraceCheckUtils]: 75: Hoare triple {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:31:12,170 INFO L290 TraceCheckUtils]: 74: Hoare triple {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:31:12,547 INFO L290 TraceCheckUtils]: 73: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19228#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:31:12,548 INFO L290 TraceCheckUtils]: 72: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:31:12,549 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {18953#true} {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:31:12,549 INFO L290 TraceCheckUtils]: 70: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:12,549 INFO L290 TraceCheckUtils]: 69: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:12,549 INFO L290 TraceCheckUtils]: 68: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:12,549 INFO L272 TraceCheckUtils]: 67: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:12,550 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {18953#true} {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #70#return; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:31:12,550 INFO L290 TraceCheckUtils]: 65: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:12,550 INFO L290 TraceCheckUtils]: 64: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:12,550 INFO L290 TraceCheckUtils]: 63: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:12,550 INFO L272 TraceCheckUtils]: 62: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:12,551 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {18953#true} {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #68#return; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:31:12,551 INFO L290 TraceCheckUtils]: 60: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:12,551 INFO L290 TraceCheckUtils]: 59: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:12,551 INFO L290 TraceCheckUtils]: 58: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:12,551 INFO L272 TraceCheckUtils]: 57: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:12,552 INFO L290 TraceCheckUtils]: 56: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:31:12,552 INFO L290 TraceCheckUtils]: 55: Hoare triple {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:31:12,791 INFO L290 TraceCheckUtils]: 54: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19253#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:31:12,792 INFO L290 TraceCheckUtils]: 53: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(~a~0 != ~b~0); {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-15 08:31:12,793 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {18953#true} {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #72#return; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-15 08:31:12,793 INFO L290 TraceCheckUtils]: 51: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:12,793 INFO L290 TraceCheckUtils]: 50: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:12,793 INFO L290 TraceCheckUtils]: 49: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:12,793 INFO L272 TraceCheckUtils]: 48: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:12,793 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {18953#true} {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #70#return; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-15 08:31:12,794 INFO L290 TraceCheckUtils]: 46: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:12,794 INFO L290 TraceCheckUtils]: 45: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:12,794 INFO L290 TraceCheckUtils]: 44: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:12,794 INFO L272 TraceCheckUtils]: 43: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:12,794 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {18953#true} {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #68#return; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-15 08:31:12,794 INFO L290 TraceCheckUtils]: 41: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:12,795 INFO L290 TraceCheckUtils]: 40: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:12,795 INFO L290 TraceCheckUtils]: 39: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:12,795 INFO L272 TraceCheckUtils]: 38: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:12,795 INFO L290 TraceCheckUtils]: 37: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} assume !!(#t~post6 < 50);havoc #t~post6; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-15 08:31:12,795 INFO L290 TraceCheckUtils]: 36: Hoare triple {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is VALID [2022-04-15 08:31:14,797 WARN L290 TraceCheckUtils]: 35: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {19311#(= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0))} is UNKNOWN [2022-04-15 08:31:14,798 INFO L290 TraceCheckUtils]: 34: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !!(~a~0 != ~b~0); {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-15 08:31:14,798 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {18953#true} {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #72#return; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-15 08:31:14,798 INFO L290 TraceCheckUtils]: 32: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:14,799 INFO L290 TraceCheckUtils]: 31: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:14,799 INFO L290 TraceCheckUtils]: 30: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:14,799 INFO L272 TraceCheckUtils]: 29: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:14,799 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {18953#true} {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #70#return; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-15 08:31:14,799 INFO L290 TraceCheckUtils]: 27: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:14,799 INFO L290 TraceCheckUtils]: 26: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:14,800 INFO L290 TraceCheckUtils]: 25: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:14,800 INFO L272 TraceCheckUtils]: 24: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:14,800 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {18953#true} {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #68#return; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-15 08:31:14,800 INFO L290 TraceCheckUtils]: 22: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:14,800 INFO L290 TraceCheckUtils]: 21: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:14,800 INFO L290 TraceCheckUtils]: 20: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:14,800 INFO L272 TraceCheckUtils]: 19: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:14,801 INFO L290 TraceCheckUtils]: 18: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} assume !!(#t~post6 < 50);havoc #t~post6; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-15 08:31:14,801 INFO L290 TraceCheckUtils]: 17: Hoare triple {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-15 08:31:14,802 INFO L290 TraceCheckUtils]: 16: Hoare triple {18953#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {19369#(= (+ (* main_~x~0 (+ (* main_~q~0 (- 3)) main_~p~0)) (* main_~y~0 (+ main_~r~0 (* main_~s~0 (- 3))))) (+ (* main_~b~0 (- 3)) main_~a~0))} is VALID [2022-04-15 08:31:14,802 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18953#true} {18953#true} #66#return; {18953#true} is VALID [2022-04-15 08:31:14,802 INFO L290 TraceCheckUtils]: 14: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:14,802 INFO L290 TraceCheckUtils]: 13: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:14,802 INFO L290 TraceCheckUtils]: 12: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:14,802 INFO L272 TraceCheckUtils]: 11: Hoare triple {18953#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:14,802 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18953#true} {18953#true} #64#return; {18953#true} is VALID [2022-04-15 08:31:14,802 INFO L290 TraceCheckUtils]: 9: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:14,803 INFO L290 TraceCheckUtils]: 8: Hoare triple {18953#true} assume !(0 == ~cond); {18953#true} is VALID [2022-04-15 08:31:14,803 INFO L290 TraceCheckUtils]: 7: Hoare triple {18953#true} ~cond := #in~cond; {18953#true} is VALID [2022-04-15 08:31:14,803 INFO L272 TraceCheckUtils]: 6: Hoare triple {18953#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18953#true} is VALID [2022-04-15 08:31:14,803 INFO L290 TraceCheckUtils]: 5: Hoare triple {18953#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {18953#true} is VALID [2022-04-15 08:31:14,803 INFO L272 TraceCheckUtils]: 4: Hoare triple {18953#true} call #t~ret7 := main(); {18953#true} is VALID [2022-04-15 08:31:14,803 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18953#true} {18953#true} #82#return; {18953#true} is VALID [2022-04-15 08:31:14,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {18953#true} assume true; {18953#true} is VALID [2022-04-15 08:31:14,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {18953#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {18953#true} is VALID [2022-04-15 08:31:14,803 INFO L272 TraceCheckUtils]: 0: Hoare triple {18953#true} call ULTIMATE.init(); {18953#true} is VALID [2022-04-15 08:31:14,804 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 20 proven. 33 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-15 08:31:14,804 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:31:14,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1687651396] [2022-04-15 08:31:14,804 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:31:14,804 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [7074557] [2022-04-15 08:31:14,804 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [7074557] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:31:14,805 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:31:14,805 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 15 [2022-04-15 08:31:14,805 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:31:14,805 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1297784770] [2022-04-15 08:31:14,805 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1297784770] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:31:14,805 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:31:14,805 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 08:31:14,805 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1802510863] [2022-04-15 08:31:14,805 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:31:14,806 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-15 08:31:14,806 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:31:14,806 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:31:14,863 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:31:14,863 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 08:31:14,863 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:31:14,863 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 08:31:14,863 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=166, Unknown=0, NotChecked=0, Total=210 [2022-04-15 08:31:14,864 INFO L87 Difference]: Start difference. First operand 229 states and 268 transitions. Second operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:31:16,675 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:31:16,675 INFO L93 Difference]: Finished difference Result 256 states and 307 transitions. [2022-04-15 08:31:16,675 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 08:31:16,676 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-15 08:31:16,676 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:31:16,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:31:16,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-15 08:31:16,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:31:16,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-15 08:31:16,679 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-15 08:31:16,814 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:31:16,819 INFO L225 Difference]: With dead ends: 256 [2022-04-15 08:31:16,820 INFO L226 Difference]: Without dead ends: 254 [2022-04-15 08:31:16,820 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 155 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 40 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=52, Invalid=220, Unknown=0, NotChecked=0, Total=272 [2022-04-15 08:31:16,820 INFO L913 BasicCegarLoop]: 52 mSDtfsCounter, 25 mSDsluCounter, 178 mSDsCounter, 0 mSdLazyCounter, 351 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 230 SdHoareTripleChecker+Invalid, 379 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 351 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 08:31:16,821 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 230 Invalid, 379 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 351 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 08:31:16,821 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 254 states. [2022-04-15 08:31:17,092 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 254 to 238. [2022-04-15 08:31:17,093 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:31:17,093 INFO L82 GeneralOperation]: Start isEquivalent. First operand 254 states. Second operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-15 08:31:17,094 INFO L74 IsIncluded]: Start isIncluded. First operand 254 states. Second operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-15 08:31:17,094 INFO L87 Difference]: Start difference. First operand 254 states. Second operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-15 08:31:17,100 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:31:17,100 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-15 08:31:17,100 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-15 08:31:17,101 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:31:17,101 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:31:17,102 INFO L74 IsIncluded]: Start isIncluded. First operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 254 states. [2022-04-15 08:31:17,102 INFO L87 Difference]: Start difference. First operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) Second operand 254 states. [2022-04-15 08:31:17,108 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:31:17,108 INFO L93 Difference]: Finished difference Result 254 states and 305 transitions. [2022-04-15 08:31:17,109 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 305 transitions. [2022-04-15 08:31:17,109 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:31:17,109 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:31:17,110 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:31:17,110 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:31:17,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 238 states, 151 states have (on average 1.1456953642384107) internal successors, (173), 158 states have internal predecessors, (173), 55 states have call successors, (55), 32 states have call predecessors, (55), 31 states have return successors, (52), 47 states have call predecessors, (52), 52 states have call successors, (52) [2022-04-15 08:31:17,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 238 states to 238 states and 280 transitions. [2022-04-15 08:31:17,118 INFO L78 Accepts]: Start accepts. Automaton has 238 states and 280 transitions. Word has length 85 [2022-04-15 08:31:17,118 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:31:17,118 INFO L478 AbstractCegarLoop]: Abstraction has 238 states and 280 transitions. [2022-04-15 08:31:17,118 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:31:17,119 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 238 states and 280 transitions. [2022-04-15 08:31:17,581 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 280 edges. 280 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:31:17,581 INFO L276 IsEmpty]: Start isEmpty. Operand 238 states and 280 transitions. [2022-04-15 08:31:17,581 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-15 08:31:17,581 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:31:17,582 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:31:17,599 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-15 08:31:17,782 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:31:17,782 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:31:17,783 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:31:17,783 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 7 times [2022-04-15 08:31:17,783 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:31:17,783 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [430201199] [2022-04-15 08:31:17,783 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:31:17,783 INFO L85 PathProgramCache]: Analyzing trace with hash 1330896797, now seen corresponding path program 8 times [2022-04-15 08:31:17,783 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:31:17,783 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2118559962] [2022-04-15 08:31:17,784 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:31:17,784 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:31:17,793 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:31:17,793 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1016851498] [2022-04-15 08:31:17,793 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:31:17,793 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:31:17,794 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:31:17,795 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-15 08:31:17,798 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-15 08:31:17,900 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:31:17,900 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:31:17,901 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-15 08:31:17,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:31:17,916 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:31:19,273 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 08:31:19,321 INFO L272 TraceCheckUtils]: 0: Hoare triple {20977#true} call ULTIMATE.init(); {20977#true} is VALID [2022-04-15 08:31:19,321 INFO L290 TraceCheckUtils]: 1: Hoare triple {20977#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20977#true} is VALID [2022-04-15 08:31:19,321 INFO L290 TraceCheckUtils]: 2: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:19,322 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20977#true} {20977#true} #82#return; {20977#true} is VALID [2022-04-15 08:31:19,322 INFO L272 TraceCheckUtils]: 4: Hoare triple {20977#true} call #t~ret7 := main(); {20977#true} is VALID [2022-04-15 08:31:19,322 INFO L290 TraceCheckUtils]: 5: Hoare triple {20977#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20977#true} is VALID [2022-04-15 08:31:19,322 INFO L272 TraceCheckUtils]: 6: Hoare triple {20977#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:19,322 INFO L290 TraceCheckUtils]: 7: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:19,322 INFO L290 TraceCheckUtils]: 8: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:19,322 INFO L290 TraceCheckUtils]: 9: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:19,322 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20977#true} {20977#true} #64#return; {20977#true} is VALID [2022-04-15 08:31:19,322 INFO L272 TraceCheckUtils]: 11: Hoare triple {20977#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:19,322 INFO L290 TraceCheckUtils]: 12: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:19,322 INFO L290 TraceCheckUtils]: 13: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:19,322 INFO L290 TraceCheckUtils]: 14: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:19,322 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20977#true} {20977#true} #66#return; {20977#true} is VALID [2022-04-15 08:31:19,323 INFO L290 TraceCheckUtils]: 16: Hoare triple {20977#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21030#(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-15 08:31:19,323 INFO L290 TraceCheckUtils]: 17: Hoare triple {21030#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21030#(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-15 08:31:19,324 INFO L290 TraceCheckUtils]: 18: Hoare triple {21030#(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 !!(#t~post6 < 50);havoc #t~post6; {21030#(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-15 08:31:19,324 INFO L272 TraceCheckUtils]: 19: Hoare triple {21030#(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 __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:19,324 INFO L290 TraceCheckUtils]: 20: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:19,324 INFO L290 TraceCheckUtils]: 21: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:19,324 INFO L290 TraceCheckUtils]: 22: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:19,324 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20977#true} {21030#(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))} #68#return; {21030#(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-15 08:31:19,325 INFO L272 TraceCheckUtils]: 24: Hoare triple {21030#(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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:19,325 INFO L290 TraceCheckUtils]: 25: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:19,325 INFO L290 TraceCheckUtils]: 26: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:19,325 INFO L290 TraceCheckUtils]: 27: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:19,325 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20977#true} {21030#(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))} #70#return; {21030#(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-15 08:31:19,326 INFO L272 TraceCheckUtils]: 29: Hoare triple {21030#(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 __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:19,326 INFO L290 TraceCheckUtils]: 30: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:19,326 INFO L290 TraceCheckUtils]: 31: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:19,326 INFO L290 TraceCheckUtils]: 32: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:19,327 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20977#true} {21030#(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))} #72#return; {21030#(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-15 08:31:19,327 INFO L290 TraceCheckUtils]: 34: Hoare triple {21030#(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 !!(~a~0 != ~b~0); {21030#(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-15 08:31:19,328 INFO L290 TraceCheckUtils]: 35: Hoare triple {21030#(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 ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:31:19,328 INFO L290 TraceCheckUtils]: 36: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:31:19,329 INFO L290 TraceCheckUtils]: 37: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:31:19,329 INFO L272 TraceCheckUtils]: 38: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:19,329 INFO L290 TraceCheckUtils]: 39: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:19,329 INFO L290 TraceCheckUtils]: 40: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:19,329 INFO L290 TraceCheckUtils]: 41: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:19,330 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20977#true} {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:31:19,330 INFO L272 TraceCheckUtils]: 43: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~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)); {20977#true} is VALID [2022-04-15 08:31:19,330 INFO L290 TraceCheckUtils]: 44: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:19,330 INFO L290 TraceCheckUtils]: 45: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:19,331 INFO L290 TraceCheckUtils]: 46: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:19,331 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20977#true} {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:31:19,331 INFO L272 TraceCheckUtils]: 48: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~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)); {20977#true} is VALID [2022-04-15 08:31:19,331 INFO L290 TraceCheckUtils]: 49: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:19,332 INFO L290 TraceCheckUtils]: 50: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:19,332 INFO L290 TraceCheckUtils]: 51: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:19,332 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20977#true} {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:31:19,333 INFO L290 TraceCheckUtils]: 53: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:31:19,335 INFO L290 TraceCheckUtils]: 54: Hoare triple {21088#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:31:19,340 INFO L290 TraceCheckUtils]: 55: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:31:19,340 INFO L290 TraceCheckUtils]: 56: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:31:19,341 INFO L272 TraceCheckUtils]: 57: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:19,341 INFO L290 TraceCheckUtils]: 58: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:19,341 INFO L290 TraceCheckUtils]: 59: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:19,341 INFO L290 TraceCheckUtils]: 60: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:19,342 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20977#true} {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #68#return; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:31:19,342 INFO L272 TraceCheckUtils]: 62: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:19,342 INFO L290 TraceCheckUtils]: 63: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:19,342 INFO L290 TraceCheckUtils]: 64: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:19,342 INFO L290 TraceCheckUtils]: 65: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:19,343 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20977#true} {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #70#return; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:31:19,343 INFO L272 TraceCheckUtils]: 67: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:19,343 INFO L290 TraceCheckUtils]: 68: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:19,343 INFO L290 TraceCheckUtils]: 69: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:19,343 INFO L290 TraceCheckUtils]: 70: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:19,344 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20977#true} {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #72#return; {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:31:19,344 INFO L290 TraceCheckUtils]: 72: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:31:19,346 INFO L290 TraceCheckUtils]: 73: Hoare triple {21146#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (not (< main_~x~0 (* main_~a~0 2))) (= main_~p~0 1) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-15 08:31:19,347 INFO L290 TraceCheckUtils]: 74: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-15 08:31:19,347 INFO L290 TraceCheckUtils]: 75: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-15 08:31:19,348 INFO L272 TraceCheckUtils]: 76: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:19,348 INFO L290 TraceCheckUtils]: 77: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:19,348 INFO L290 TraceCheckUtils]: 78: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:19,348 INFO L290 TraceCheckUtils]: 79: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:19,349 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20977#true} {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} #68#return; {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} is VALID [2022-04-15 08:31:19,352 INFO L272 TraceCheckUtils]: 81: Hoare triple {21204#(and (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* 3 (div (+ (* (- 1) main_~r~0) 1) 2)) (* main_~r~0 2)) 0) (< main_~y~0 main_~x~0) (= main_~p~0 2) (= (+ (* (- 1) main_~a~0) main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (= (mod (+ main_~r~0 1) 2) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:31:19,352 INFO L290 TraceCheckUtils]: 82: Hoare triple {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21233#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:31:19,352 INFO L290 TraceCheckUtils]: 83: Hoare triple {21233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20978#false} is VALID [2022-04-15 08:31:19,352 INFO L290 TraceCheckUtils]: 84: Hoare triple {20978#false} assume !false; {20978#false} is VALID [2022-04-15 08:31:19,353 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 20 proven. 33 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-15 08:31:19,353 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:31:20,075 INFO L290 TraceCheckUtils]: 84: Hoare triple {20978#false} assume !false; {20978#false} is VALID [2022-04-15 08:31:20,075 INFO L290 TraceCheckUtils]: 83: Hoare triple {21233#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20978#false} is VALID [2022-04-15 08:31:20,076 INFO L290 TraceCheckUtils]: 82: Hoare triple {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {21233#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:31:20,076 INFO L272 TraceCheckUtils]: 81: Hoare triple {21249#(= 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)); {21229#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:31:20,077 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {20977#true} {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:31:20,077 INFO L290 TraceCheckUtils]: 79: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:20,077 INFO L290 TraceCheckUtils]: 78: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:20,077 INFO L290 TraceCheckUtils]: 77: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:20,077 INFO L272 TraceCheckUtils]: 76: Hoare triple {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:20,078 INFO L290 TraceCheckUtils]: 75: Hoare triple {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:31:20,078 INFO L290 TraceCheckUtils]: 74: Hoare triple {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:31:20,200 INFO L290 TraceCheckUtils]: 73: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21249#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:31:20,201 INFO L290 TraceCheckUtils]: 72: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:31:20,201 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {20977#true} {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:31:20,201 INFO L290 TraceCheckUtils]: 70: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:20,201 INFO L290 TraceCheckUtils]: 69: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:20,202 INFO L290 TraceCheckUtils]: 68: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:20,202 INFO L272 TraceCheckUtils]: 67: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:20,202 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {20977#true} {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #70#return; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:31:20,202 INFO L290 TraceCheckUtils]: 65: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:20,202 INFO L290 TraceCheckUtils]: 64: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:20,202 INFO L290 TraceCheckUtils]: 63: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:20,203 INFO L272 TraceCheckUtils]: 62: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:20,203 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {20977#true} {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #68#return; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:31:20,203 INFO L290 TraceCheckUtils]: 60: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:20,203 INFO L290 TraceCheckUtils]: 59: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:20,203 INFO L290 TraceCheckUtils]: 58: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:20,203 INFO L272 TraceCheckUtils]: 57: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:20,204 INFO L290 TraceCheckUtils]: 56: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:31:20,204 INFO L290 TraceCheckUtils]: 55: Hoare triple {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:31:20,282 INFO L290 TraceCheckUtils]: 54: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {21274#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:31:20,282 INFO L290 TraceCheckUtils]: 53: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(~a~0 != ~b~0); {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-15 08:31:20,283 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {20977#true} {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #72#return; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-15 08:31:20,283 INFO L290 TraceCheckUtils]: 51: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:20,283 INFO L290 TraceCheckUtils]: 50: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:20,283 INFO L290 TraceCheckUtils]: 49: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:20,283 INFO L272 TraceCheckUtils]: 48: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:20,284 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {20977#true} {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #70#return; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-15 08:31:20,284 INFO L290 TraceCheckUtils]: 46: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:20,284 INFO L290 TraceCheckUtils]: 45: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:20,284 INFO L290 TraceCheckUtils]: 44: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:20,284 INFO L272 TraceCheckUtils]: 43: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:20,285 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {20977#true} {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #68#return; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-15 08:31:20,285 INFO L290 TraceCheckUtils]: 41: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:20,285 INFO L290 TraceCheckUtils]: 40: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:20,285 INFO L290 TraceCheckUtils]: 39: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:20,285 INFO L272 TraceCheckUtils]: 38: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:20,286 INFO L290 TraceCheckUtils]: 37: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} assume !!(#t~post6 < 50);havoc #t~post6; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-15 08:31:20,286 INFO L290 TraceCheckUtils]: 36: Hoare triple {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is VALID [2022-04-15 08:31:22,288 WARN L290 TraceCheckUtils]: 35: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {21332#(or (< main_~b~0 main_~a~0) (= (+ (* (+ (* main_~p~0 2) (* (- 1) main_~q~0)) main_~x~0) (* (+ (* (- 1) main_~s~0) (* main_~r~0 2)) main_~y~0)) (+ (* main_~a~0 2) (* (- 1) main_~b~0))))} is UNKNOWN [2022-04-15 08:31:22,289 INFO L290 TraceCheckUtils]: 34: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume !!(~a~0 != ~b~0); {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-15 08:31:22,290 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {20977#true} {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #72#return; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-15 08:31:22,290 INFO L290 TraceCheckUtils]: 32: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:22,290 INFO L290 TraceCheckUtils]: 31: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:22,290 INFO L290 TraceCheckUtils]: 30: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:22,290 INFO L272 TraceCheckUtils]: 29: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:22,290 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {20977#true} {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #70#return; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-15 08:31:22,291 INFO L290 TraceCheckUtils]: 27: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:22,291 INFO L290 TraceCheckUtils]: 26: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:22,291 INFO L290 TraceCheckUtils]: 25: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:22,291 INFO L272 TraceCheckUtils]: 24: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:22,291 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {20977#true} {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #68#return; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-15 08:31:22,291 INFO L290 TraceCheckUtils]: 22: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:22,292 INFO L290 TraceCheckUtils]: 21: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:22,292 INFO L290 TraceCheckUtils]: 20: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:22,292 INFO L272 TraceCheckUtils]: 19: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:22,292 INFO L290 TraceCheckUtils]: 18: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} assume !!(#t~post6 < 50);havoc #t~post6; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-15 08:31:22,293 INFO L290 TraceCheckUtils]: 17: Hoare triple {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-15 08:31:22,293 INFO L290 TraceCheckUtils]: 16: Hoare triple {20977#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {21390#(or (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ (* main_~y~0 (+ (* main_~s~0 (- 3)) (* main_~r~0 2))) (* main_~x~0 (+ (* main_~p~0 2) (* main_~q~0 (- 3))))) (+ (* main_~b~0 (- 3)) (* main_~a~0 2))))} is VALID [2022-04-15 08:31:22,293 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20977#true} {20977#true} #66#return; {20977#true} is VALID [2022-04-15 08:31:22,293 INFO L290 TraceCheckUtils]: 14: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:22,293 INFO L290 TraceCheckUtils]: 13: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:22,293 INFO L290 TraceCheckUtils]: 12: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:22,294 INFO L272 TraceCheckUtils]: 11: Hoare triple {20977#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:22,294 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20977#true} {20977#true} #64#return; {20977#true} is VALID [2022-04-15 08:31:22,294 INFO L290 TraceCheckUtils]: 9: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:22,294 INFO L290 TraceCheckUtils]: 8: Hoare triple {20977#true} assume !(0 == ~cond); {20977#true} is VALID [2022-04-15 08:31:22,294 INFO L290 TraceCheckUtils]: 7: Hoare triple {20977#true} ~cond := #in~cond; {20977#true} is VALID [2022-04-15 08:31:22,294 INFO L272 TraceCheckUtils]: 6: Hoare triple {20977#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20977#true} is VALID [2022-04-15 08:31:22,294 INFO L290 TraceCheckUtils]: 5: Hoare triple {20977#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {20977#true} is VALID [2022-04-15 08:31:22,294 INFO L272 TraceCheckUtils]: 4: Hoare triple {20977#true} call #t~ret7 := main(); {20977#true} is VALID [2022-04-15 08:31:22,294 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20977#true} {20977#true} #82#return; {20977#true} is VALID [2022-04-15 08:31:22,294 INFO L290 TraceCheckUtils]: 2: Hoare triple {20977#true} assume true; {20977#true} is VALID [2022-04-15 08:31:22,294 INFO L290 TraceCheckUtils]: 1: Hoare triple {20977#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {20977#true} is VALID [2022-04-15 08:31:22,294 INFO L272 TraceCheckUtils]: 0: Hoare triple {20977#true} call ULTIMATE.init(); {20977#true} is VALID [2022-04-15 08:31:22,295 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 20 proven. 33 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-15 08:31:22,295 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:31:22,295 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2118559962] [2022-04-15 08:31:22,295 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:31:22,295 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1016851498] [2022-04-15 08:31:22,295 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1016851498] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:31:22,295 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:31:22,295 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-15 08:31:22,295 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:31:22,296 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [430201199] [2022-04-15 08:31:22,296 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [430201199] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:31:22,296 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:31:22,296 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 08:31:22,296 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1338279758] [2022-04-15 08:31:22,296 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:31:22,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), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-15 08:31:22,297 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:31:22,297 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), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:31:22,353 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-15 08:31:22,354 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 08:31:22,354 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:31:22,354 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 08:31:22,354 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-15 08:31:22,354 INFO L87 Difference]: Start difference. First operand 238 states and 280 transitions. Second operand has 8 states, 8 states have (on average 3.375) internal successors, (27), 7 states have internal predecessors, (27), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:31:24,055 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:31:24,055 INFO L93 Difference]: Finished difference Result 286 states and 341 transitions. [2022-04-15 08:31:24,055 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 08:31:24,056 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), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-15 08:31:24,056 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:31:24,056 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), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:31:24,058 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-15 08:31:24,058 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), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:31:24,059 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 97 transitions. [2022-04-15 08:31:24,059 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 97 transitions. [2022-04-15 08:31:24,217 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:31:24,223 INFO L225 Difference]: With dead ends: 286 [2022-04-15 08:31:24,224 INFO L226 Difference]: Without dead ends: 284 [2022-04-15 08:31:24,224 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 170 GetRequests, 158 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-04-15 08:31:24,224 INFO L913 BasicCegarLoop]: 59 mSDtfsCounter, 9 mSDsluCounter, 189 mSDsCounter, 0 mSdLazyCounter, 299 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 248 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 299 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-15 08:31:24,225 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 248 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 299 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-15 08:31:24,225 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 284 states. [2022-04-15 08:31:24,564 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 284 to 268. [2022-04-15 08:31:24,564 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:31:24,565 INFO L82 GeneralOperation]: Start isEquivalent. First operand 284 states. Second operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-15 08:31:24,565 INFO L74 IsIncluded]: Start isIncluded. First operand 284 states. Second operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-15 08:31:24,566 INFO L87 Difference]: Start difference. First operand 284 states. Second operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-15 08:31:24,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:31:24,574 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-15 08:31:24,574 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-15 08:31:24,575 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:31:24,575 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:31:24,575 INFO L74 IsIncluded]: Start isIncluded. First operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 284 states. [2022-04-15 08:31:24,576 INFO L87 Difference]: Start difference. First operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 284 states. [2022-04-15 08:31:24,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:31:24,584 INFO L93 Difference]: Finished difference Result 284 states and 339 transitions. [2022-04-15 08:31:24,584 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 339 transitions. [2022-04-15 08:31:24,585 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:31:24,585 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:31:24,585 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:31:24,585 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:31:24,586 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 268 states, 171 states have (on average 1.1403508771929824) internal successors, (195), 178 states have internal predecessors, (195), 61 states have call successors, (61), 36 states have call predecessors, (61), 35 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-15 08:31:24,594 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 268 states to 268 states and 314 transitions. [2022-04-15 08:31:24,594 INFO L78 Accepts]: Start accepts. Automaton has 268 states and 314 transitions. Word has length 85 [2022-04-15 08:31:24,595 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:31:24,595 INFO L478 AbstractCegarLoop]: Abstraction has 268 states and 314 transitions. [2022-04-15 08:31:24,595 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), 5 states have call successors, (15), 2 states have call predecessors, (15), 1 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:31:24,595 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 268 states and 314 transitions. [2022-04-15 08:31:25,207 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 314 edges. 314 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:31:25,208 INFO L276 IsEmpty]: Start isEmpty. Operand 268 states and 314 transitions. [2022-04-15 08:31:25,208 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-15 08:31:25,208 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:31:25,209 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:31:25,225 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-15 08:31:25,409 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:31:25,409 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:31:25,410 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:31:25,410 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 9 times [2022-04-15 08:31:25,410 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:31:25,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [709663631] [2022-04-15 08:31:25,410 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:31:25,410 INFO L85 PathProgramCache]: Analyzing trace with hash 148216665, now seen corresponding path program 10 times [2022-04-15 08:31:25,410 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:31:25,410 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1479948643] [2022-04-15 08:31:25,410 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:31:25,410 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:31:25,430 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:31:25,430 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [646954627] [2022-04-15 08:31:25,430 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:31:25,430 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:31:25,430 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:31:25,431 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-15 08:31:25,433 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-15 08:31:25,478 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:31:25,478 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:31:25,480 INFO L263 TraceCheckSpWp]: Trace formula consists of 191 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-15 08:31:25,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:31:25,495 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:31:54,452 INFO L272 TraceCheckUtils]: 0: Hoare triple {23176#true} call ULTIMATE.init(); {23176#true} is VALID [2022-04-15 08:31:54,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {23176#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23176#true} is VALID [2022-04-15 08:31:54,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:31:54,452 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23176#true} {23176#true} #82#return; {23176#true} is VALID [2022-04-15 08:31:54,452 INFO L272 TraceCheckUtils]: 4: Hoare triple {23176#true} call #t~ret7 := main(); {23176#true} is VALID [2022-04-15 08:31:54,452 INFO L290 TraceCheckUtils]: 5: Hoare triple {23176#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23176#true} is VALID [2022-04-15 08:31:54,452 INFO L272 TraceCheckUtils]: 6: Hoare triple {23176#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:31:54,452 INFO L290 TraceCheckUtils]: 7: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:31:54,452 INFO L290 TraceCheckUtils]: 8: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:31:54,453 INFO L290 TraceCheckUtils]: 9: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:31:54,453 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23176#true} {23176#true} #64#return; {23176#true} is VALID [2022-04-15 08:31:54,453 INFO L272 TraceCheckUtils]: 11: Hoare triple {23176#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:31:54,453 INFO L290 TraceCheckUtils]: 12: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:31:54,453 INFO L290 TraceCheckUtils]: 13: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:31:54,453 INFO L290 TraceCheckUtils]: 14: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:31:54,453 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23176#true} {23176#true} #66#return; {23176#true} is VALID [2022-04-15 08:31:54,453 INFO L290 TraceCheckUtils]: 16: Hoare triple {23176#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23229#(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-15 08:31:54,454 INFO L290 TraceCheckUtils]: 17: Hoare triple {23229#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23229#(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-15 08:31:54,454 INFO L290 TraceCheckUtils]: 18: Hoare triple {23229#(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 !!(#t~post6 < 50);havoc #t~post6; {23229#(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-15 08:31:54,454 INFO L272 TraceCheckUtils]: 19: Hoare triple {23229#(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 __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:31:54,454 INFO L290 TraceCheckUtils]: 20: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:31:54,454 INFO L290 TraceCheckUtils]: 21: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:31:54,455 INFO L290 TraceCheckUtils]: 22: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:31:54,455 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23176#true} {23229#(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))} #68#return; {23229#(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-15 08:31:54,455 INFO L272 TraceCheckUtils]: 24: Hoare triple {23229#(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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:31:54,455 INFO L290 TraceCheckUtils]: 25: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:31:54,455 INFO L290 TraceCheckUtils]: 26: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:31:54,455 INFO L290 TraceCheckUtils]: 27: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:31:54,460 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23176#true} {23229#(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))} #70#return; {23229#(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-15 08:31:54,461 INFO L272 TraceCheckUtils]: 29: Hoare triple {23229#(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 __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:31:54,461 INFO L290 TraceCheckUtils]: 30: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:31:54,461 INFO L290 TraceCheckUtils]: 31: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:31:54,461 INFO L290 TraceCheckUtils]: 32: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:31:54,462 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23176#true} {23229#(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))} #72#return; {23229#(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-15 08:31:54,462 INFO L290 TraceCheckUtils]: 34: Hoare triple {23229#(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 !!(~a~0 != ~b~0); {23229#(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-15 08:31:54,462 INFO L290 TraceCheckUtils]: 35: Hoare triple {23229#(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 !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 08:31:54,463 INFO L290 TraceCheckUtils]: 36: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 08:31:54,463 INFO L290 TraceCheckUtils]: 37: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 08:31:54,463 INFO L272 TraceCheckUtils]: 38: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:31:54,464 INFO L290 TraceCheckUtils]: 39: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:31:54,464 INFO L290 TraceCheckUtils]: 40: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:31:54,464 INFO L290 TraceCheckUtils]: 41: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:31:54,464 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23176#true} {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #68#return; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 08:31:54,464 INFO L272 TraceCheckUtils]: 43: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:31:54,465 INFO L290 TraceCheckUtils]: 44: Hoare triple {23176#true} ~cond := #in~cond; {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:31:54,465 INFO L290 TraceCheckUtils]: 45: Hoare triple {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:31:54,465 INFO L290 TraceCheckUtils]: 46: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:31:54,468 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #70#return; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 08:31:54,468 INFO L272 TraceCheckUtils]: 48: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:31:54,468 INFO L290 TraceCheckUtils]: 49: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:31:54,468 INFO L290 TraceCheckUtils]: 50: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:31:54,469 INFO L290 TraceCheckUtils]: 51: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:31:54,469 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23176#true} {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #72#return; {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 08:31:54,470 INFO L290 TraceCheckUtils]: 53: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-15 08:31:54,471 INFO L290 TraceCheckUtils]: 54: Hoare triple {23287#(and (= main_~r~0 0) (= main_~y~0 (+ main_~b~0 main_~a~0)) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:31:54,471 INFO L290 TraceCheckUtils]: 55: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:31:54,472 INFO L290 TraceCheckUtils]: 56: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:31:54,472 INFO L272 TraceCheckUtils]: 57: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:31:54,472 INFO L290 TraceCheckUtils]: 58: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:31:54,472 INFO L290 TraceCheckUtils]: 59: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:31:54,472 INFO L290 TraceCheckUtils]: 60: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:31:54,472 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23176#true} {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:31:54,473 INFO L272 TraceCheckUtils]: 62: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:31:54,473 INFO L290 TraceCheckUtils]: 63: Hoare triple {23176#true} ~cond := #in~cond; {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:31:54,473 INFO L290 TraceCheckUtils]: 64: Hoare triple {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:31:54,473 INFO L290 TraceCheckUtils]: 65: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:31:54,474 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:31:54,474 INFO L272 TraceCheckUtils]: 67: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:31:54,474 INFO L290 TraceCheckUtils]: 68: Hoare triple {23176#true} ~cond := #in~cond; {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:31:54,475 INFO L290 TraceCheckUtils]: 69: Hoare triple {23315#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:31:54,475 INFO L290 TraceCheckUtils]: 70: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:31:54,476 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:31:54,476 INFO L290 TraceCheckUtils]: 72: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:31:54,478 INFO L290 TraceCheckUtils]: 73: Hoare triple {23347#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~y~0 (+ main_~a~0 (* main_~b~0 2))) (= main_~s~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0) 1)) (= main_~p~0 (* (- 2) main_~q~0)) (= (* (- 1) main_~q~0) 1) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-15 08:31:54,479 INFO L290 TraceCheckUtils]: 74: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-15 08:31:54,479 INFO L290 TraceCheckUtils]: 75: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} assume !!(#t~post6 < 50);havoc #t~post6; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-15 08:31:54,479 INFO L272 TraceCheckUtils]: 76: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:31:54,479 INFO L290 TraceCheckUtils]: 77: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:31:54,479 INFO L290 TraceCheckUtils]: 78: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:31:54,480 INFO L290 TraceCheckUtils]: 79: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:31:54,480 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23176#true} {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} #68#return; {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} is VALID [2022-04-15 08:31:54,483 INFO L272 TraceCheckUtils]: 81: Hoare triple {23405#(and (= (div (- main_~r~0) 2) (+ (* (- 2) (div (- main_~r~0) 2)) (* (- 1) main_~r~0) 1)) (= (mod (+ (* main_~a~0 2) main_~y~0) 3) 0) (= (+ (* 2 (div (+ (* (- 1) main_~a~0) main_~y~0) 3)) main_~a~0) main_~x~0) (= (mod main_~r~0 2) 0) (= (+ (- 1) main_~p~0) 2))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:31:54,483 INFO L290 TraceCheckUtils]: 82: Hoare triple {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23434#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:31:54,484 INFO L290 TraceCheckUtils]: 83: Hoare triple {23434#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23177#false} is VALID [2022-04-15 08:31:54,484 INFO L290 TraceCheckUtils]: 84: Hoare triple {23177#false} assume !false; {23177#false} is VALID [2022-04-15 08:31:54,484 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 65 proven. 51 refuted. 0 times theorem prover too weak. 121 trivial. 0 not checked. [2022-04-15 08:31:54,484 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:32:44,149 INFO L290 TraceCheckUtils]: 84: Hoare triple {23177#false} assume !false; {23177#false} is VALID [2022-04-15 08:32:44,149 INFO L290 TraceCheckUtils]: 83: Hoare triple {23434#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {23177#false} is VALID [2022-04-15 08:32:44,150 INFO L290 TraceCheckUtils]: 82: Hoare triple {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {23434#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:32:44,150 INFO L272 TraceCheckUtils]: 81: Hoare triple {23450#(= 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)); {23430#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:32:44,151 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {23176#true} {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:32:44,151 INFO L290 TraceCheckUtils]: 79: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:32:44,151 INFO L290 TraceCheckUtils]: 78: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:32:44,151 INFO L290 TraceCheckUtils]: 77: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:32:44,151 INFO L272 TraceCheckUtils]: 76: Hoare triple {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:32:44,152 INFO L290 TraceCheckUtils]: 75: Hoare triple {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:32:44,152 INFO L290 TraceCheckUtils]: 74: Hoare triple {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:32:44,982 INFO L290 TraceCheckUtils]: 73: Hoare triple {23475#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23450#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:32:44,982 INFO L290 TraceCheckUtils]: 72: Hoare triple {23475#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {23475#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:32:44,983 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23482#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} #72#return; {23475#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:32:44,984 INFO L290 TraceCheckUtils]: 70: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:32:44,984 INFO L290 TraceCheckUtils]: 69: Hoare triple {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:32:44,984 INFO L290 TraceCheckUtils]: 68: Hoare triple {23176#true} ~cond := #in~cond; {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:32:44,984 INFO L272 TraceCheckUtils]: 67: Hoare triple {23482#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:32:44,986 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} {23176#true} #70#return; {23482#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 08:32:44,986 INFO L290 TraceCheckUtils]: 65: Hoare triple {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:32:44,987 INFO L290 TraceCheckUtils]: 64: Hoare triple {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {23319#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:32:44,987 INFO L290 TraceCheckUtils]: 63: Hoare triple {23176#true} ~cond := #in~cond; {23492#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:32:44,987 INFO L272 TraceCheckUtils]: 62: Hoare triple {23176#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:32:44,987 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {23176#true} {23176#true} #68#return; {23176#true} is VALID [2022-04-15 08:32:44,987 INFO L290 TraceCheckUtils]: 60: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:32:44,987 INFO L290 TraceCheckUtils]: 59: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:32:44,987 INFO L290 TraceCheckUtils]: 58: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:32:44,987 INFO L272 TraceCheckUtils]: 57: Hoare triple {23176#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:32:44,987 INFO L290 TraceCheckUtils]: 56: Hoare triple {23176#true} assume !!(#t~post6 < 50);havoc #t~post6; {23176#true} is VALID [2022-04-15 08:32:44,987 INFO L290 TraceCheckUtils]: 55: Hoare triple {23176#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23176#true} is VALID [2022-04-15 08:32:44,988 INFO L290 TraceCheckUtils]: 54: Hoare triple {23176#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {23176#true} is VALID [2022-04-15 08:32:44,988 INFO L290 TraceCheckUtils]: 53: Hoare triple {23176#true} assume !!(~a~0 != ~b~0); {23176#true} is VALID [2022-04-15 08:32:44,988 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {23176#true} {23176#true} #72#return; {23176#true} is VALID [2022-04-15 08:32:44,988 INFO L290 TraceCheckUtils]: 51: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:32:44,988 INFO L290 TraceCheckUtils]: 50: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:32:44,988 INFO L290 TraceCheckUtils]: 49: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:32:44,988 INFO L272 TraceCheckUtils]: 48: Hoare triple {23176#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:32:44,988 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {23176#true} {23176#true} #70#return; {23176#true} is VALID [2022-04-15 08:32:44,988 INFO L290 TraceCheckUtils]: 46: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:32:44,988 INFO L290 TraceCheckUtils]: 45: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:32:44,988 INFO L290 TraceCheckUtils]: 44: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:32:44,988 INFO L272 TraceCheckUtils]: 43: Hoare triple {23176#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:32:44,988 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {23176#true} {23176#true} #68#return; {23176#true} is VALID [2022-04-15 08:32:44,988 INFO L290 TraceCheckUtils]: 41: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:32:44,989 INFO L290 TraceCheckUtils]: 40: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:32:44,989 INFO L290 TraceCheckUtils]: 39: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:32:44,989 INFO L272 TraceCheckUtils]: 38: Hoare triple {23176#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:32:44,989 INFO L290 TraceCheckUtils]: 37: Hoare triple {23176#true} assume !!(#t~post6 < 50);havoc #t~post6; {23176#true} is VALID [2022-04-15 08:32:44,989 INFO L290 TraceCheckUtils]: 36: Hoare triple {23176#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23176#true} is VALID [2022-04-15 08:32:44,989 INFO L290 TraceCheckUtils]: 35: Hoare triple {23176#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {23176#true} is VALID [2022-04-15 08:32:44,989 INFO L290 TraceCheckUtils]: 34: Hoare triple {23176#true} assume !!(~a~0 != ~b~0); {23176#true} is VALID [2022-04-15 08:32:44,989 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {23176#true} {23176#true} #72#return; {23176#true} is VALID [2022-04-15 08:32:44,989 INFO L290 TraceCheckUtils]: 32: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:32:44,989 INFO L290 TraceCheckUtils]: 31: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:32:44,989 INFO L290 TraceCheckUtils]: 30: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:32:44,989 INFO L272 TraceCheckUtils]: 29: Hoare triple {23176#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:32:44,989 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {23176#true} {23176#true} #70#return; {23176#true} is VALID [2022-04-15 08:32:44,990 INFO L290 TraceCheckUtils]: 27: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:32:44,990 INFO L290 TraceCheckUtils]: 26: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:32:44,990 INFO L290 TraceCheckUtils]: 25: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:32:44,990 INFO L272 TraceCheckUtils]: 24: Hoare triple {23176#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:32:44,990 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {23176#true} {23176#true} #68#return; {23176#true} is VALID [2022-04-15 08:32:44,990 INFO L290 TraceCheckUtils]: 22: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:32:44,990 INFO L290 TraceCheckUtils]: 21: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:32:44,990 INFO L290 TraceCheckUtils]: 20: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:32:44,990 INFO L272 TraceCheckUtils]: 19: Hoare triple {23176#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:32:44,990 INFO L290 TraceCheckUtils]: 18: Hoare triple {23176#true} assume !!(#t~post6 < 50);havoc #t~post6; {23176#true} is VALID [2022-04-15 08:32:44,991 INFO L290 TraceCheckUtils]: 17: Hoare triple {23176#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {23176#true} is VALID [2022-04-15 08:32:44,991 INFO L290 TraceCheckUtils]: 16: Hoare triple {23176#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {23176#true} is VALID [2022-04-15 08:32:44,991 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {23176#true} {23176#true} #66#return; {23176#true} is VALID [2022-04-15 08:32:44,991 INFO L290 TraceCheckUtils]: 14: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:32:44,991 INFO L290 TraceCheckUtils]: 13: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:32:44,991 INFO L290 TraceCheckUtils]: 12: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:32:44,991 INFO L272 TraceCheckUtils]: 11: Hoare triple {23176#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:32:44,991 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {23176#true} {23176#true} #64#return; {23176#true} is VALID [2022-04-15 08:32:44,991 INFO L290 TraceCheckUtils]: 9: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:32:44,991 INFO L290 TraceCheckUtils]: 8: Hoare triple {23176#true} assume !(0 == ~cond); {23176#true} is VALID [2022-04-15 08:32:44,992 INFO L290 TraceCheckUtils]: 7: Hoare triple {23176#true} ~cond := #in~cond; {23176#true} is VALID [2022-04-15 08:32:44,992 INFO L272 TraceCheckUtils]: 6: Hoare triple {23176#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {23176#true} is VALID [2022-04-15 08:32:44,992 INFO L290 TraceCheckUtils]: 5: Hoare triple {23176#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {23176#true} is VALID [2022-04-15 08:32:44,992 INFO L272 TraceCheckUtils]: 4: Hoare triple {23176#true} call #t~ret7 := main(); {23176#true} is VALID [2022-04-15 08:32:44,992 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {23176#true} {23176#true} #82#return; {23176#true} is VALID [2022-04-15 08:32:44,992 INFO L290 TraceCheckUtils]: 2: Hoare triple {23176#true} assume true; {23176#true} is VALID [2022-04-15 08:32:44,992 INFO L290 TraceCheckUtils]: 1: Hoare triple {23176#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {23176#true} is VALID [2022-04-15 08:32:44,992 INFO L272 TraceCheckUtils]: 0: Hoare triple {23176#true} call ULTIMATE.init(); {23176#true} is VALID [2022-04-15 08:32:44,993 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 78 proven. 8 refuted. 0 times theorem prover too weak. 151 trivial. 0 not checked. [2022-04-15 08:32:44,993 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:32:44,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1479948643] [2022-04-15 08:32:44,993 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:32:44,993 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [646954627] [2022-04-15 08:32:44,993 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [646954627] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:32:44,993 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:32:44,993 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9] total 14 [2022-04-15 08:32:44,994 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:32:44,994 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [709663631] [2022-04-15 08:32:44,994 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [709663631] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:32:44,994 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:32:44,994 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 08:32:44,994 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [250780268] [2022-04-15 08:32:44,994 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:32:44,994 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-15 08:32:44,995 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:32:44,995 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), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:32:45,056 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:32:45,057 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 08:32:45,057 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:32:45,057 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 08:32:45,057 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=140, Unknown=0, NotChecked=0, Total=182 [2022-04-15 08:32:45,057 INFO L87 Difference]: Start difference. First operand 268 states and 314 transitions. Second operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:32:47,587 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:32:47,587 INFO L93 Difference]: Finished difference Result 297 states and 355 transitions. [2022-04-15 08:32:47,588 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 08:32:47,588 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) Word has length 85 [2022-04-15 08:32:47,588 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:32:47,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:32:47,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-15 08:32:47,590 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:32:47,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 97 transitions. [2022-04-15 08:32:47,592 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 97 transitions. [2022-04-15 08:32:47,760 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:32:47,767 INFO L225 Difference]: With dead ends: 297 [2022-04-15 08:32:47,767 INFO L226 Difference]: Without dead ends: 295 [2022-04-15 08:32:47,768 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 171 GetRequests, 153 SyntacticMatches, 4 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=55, Invalid=185, Unknown=0, NotChecked=0, Total=240 [2022-04-15 08:32:47,769 INFO L913 BasicCegarLoop]: 46 mSDtfsCounter, 16 mSDsluCounter, 163 mSDsCounter, 0 mSdLazyCounter, 413 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 209 SdHoareTripleChecker+Invalid, 432 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 413 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.1s IncrementalHoareTripleChecker+Time [2022-04-15 08:32:47,770 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 209 Invalid, 432 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 413 Invalid, 0 Unknown, 0 Unchecked, 1.1s Time] [2022-04-15 08:32:47,771 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 295 states. [2022-04-15 08:32:48,093 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 295 to 249. [2022-04-15 08:32:48,093 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:32:48,093 INFO L82 GeneralOperation]: Start isEquivalent. First operand 295 states. Second operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-15 08:32:48,094 INFO L74 IsIncluded]: Start isIncluded. First operand 295 states. Second operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-15 08:32:48,094 INFO L87 Difference]: Start difference. First operand 295 states. Second operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-15 08:32:48,101 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:32:48,102 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-15 08:32:48,102 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-15 08:32:48,103 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:32:48,103 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:32:48,103 INFO L74 IsIncluded]: Start isIncluded. First operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 295 states. [2022-04-15 08:32:48,104 INFO L87 Difference]: Start difference. First operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) Second operand 295 states. [2022-04-15 08:32:48,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:32:48,112 INFO L93 Difference]: Finished difference Result 295 states and 353 transitions. [2022-04-15 08:32:48,112 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 353 transitions. [2022-04-15 08:32:48,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:32:48,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:32:48,113 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:32:48,113 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:32:48,114 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 249 states, 158 states have (on average 1.1455696202531647) internal successors, (181), 165 states have internal predecessors, (181), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (55), 50 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-15 08:32:48,122 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 249 states to 249 states and 294 transitions. [2022-04-15 08:32:48,122 INFO L78 Accepts]: Start accepts. Automaton has 249 states and 294 transitions. Word has length 85 [2022-04-15 08:32:48,122 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:32:48,122 INFO L478 AbstractCegarLoop]: Abstraction has 249 states and 294 transitions. [2022-04-15 08:32:48,122 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 3.0) internal successors, (30), 9 states have internal predecessors, (30), 5 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 5 states have call predecessors, (13), 5 states have call successors, (13) [2022-04-15 08:32:48,123 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 249 states and 294 transitions. [2022-04-15 08:32:48,740 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 294 edges. 294 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:32:48,740 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 294 transitions. [2022-04-15 08:32:48,741 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 86 [2022-04-15 08:32:48,741 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:32:48,741 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 4, 4, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:32:48,767 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-15 08:32:48,963 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:32:48,964 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:32:48,964 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:32:48,964 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 11 times [2022-04-15 08:32:48,964 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:32:48,964 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [73374235] [2022-04-15 08:32:48,964 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:32:48,964 INFO L85 PathProgramCache]: Analyzing trace with hash 849816539, now seen corresponding path program 12 times [2022-04-15 08:32:48,965 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:32:48,965 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [383087400] [2022-04-15 08:32:48,965 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:32:48,965 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:32:48,974 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:32:48,974 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1729513385] [2022-04-15 08:32:48,974 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 08:32:48,974 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:32:48,975 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:32:48,975 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-15 08:32:48,976 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-15 08:32:49,058 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 08:32:49,058 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:32:49,059 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 08:32:49,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:32:49,090 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:32:49,564 INFO L272 TraceCheckUtils]: 0: Hoare triple {25385#true} call ULTIMATE.init(); {25385#true} is VALID [2022-04-15 08:32:49,565 INFO L290 TraceCheckUtils]: 1: Hoare triple {25385#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {25385#true} is VALID [2022-04-15 08:32:49,565 INFO L290 TraceCheckUtils]: 2: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-15 08:32:49,565 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {25385#true} {25385#true} #82#return; {25385#true} is VALID [2022-04-15 08:32:49,565 INFO L272 TraceCheckUtils]: 4: Hoare triple {25385#true} call #t~ret7 := main(); {25385#true} is VALID [2022-04-15 08:32:49,565 INFO L290 TraceCheckUtils]: 5: Hoare triple {25385#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {25385#true} is VALID [2022-04-15 08:32:49,565 INFO L272 TraceCheckUtils]: 6: Hoare triple {25385#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {25385#true} is VALID [2022-04-15 08:32:49,565 INFO L290 TraceCheckUtils]: 7: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-15 08:32:49,565 INFO L290 TraceCheckUtils]: 8: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-15 08:32:49,565 INFO L290 TraceCheckUtils]: 9: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-15 08:32:49,566 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {25385#true} {25385#true} #64#return; {25385#true} is VALID [2022-04-15 08:32:49,566 INFO L272 TraceCheckUtils]: 11: Hoare triple {25385#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {25385#true} is VALID [2022-04-15 08:32:49,566 INFO L290 TraceCheckUtils]: 12: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-15 08:32:49,566 INFO L290 TraceCheckUtils]: 13: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-15 08:32:49,566 INFO L290 TraceCheckUtils]: 14: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-15 08:32:49,566 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {25385#true} {25385#true} #66#return; {25385#true} is VALID [2022-04-15 08:32:49,567 INFO L290 TraceCheckUtils]: 16: Hoare triple {25385#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,567 INFO L290 TraceCheckUtils]: 17: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,568 INFO L290 TraceCheckUtils]: 18: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,568 INFO L272 TraceCheckUtils]: 19: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25385#true} is VALID [2022-04-15 08:32:49,568 INFO L290 TraceCheckUtils]: 20: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-15 08:32:49,568 INFO L290 TraceCheckUtils]: 21: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-15 08:32:49,568 INFO L290 TraceCheckUtils]: 22: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-15 08:32:49,569 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,569 INFO L272 TraceCheckUtils]: 24: Hoare triple {25438#(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)); {25385#true} is VALID [2022-04-15 08:32:49,569 INFO L290 TraceCheckUtils]: 25: Hoare triple {25385#true} ~cond := #in~cond; {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:32:49,569 INFO L290 TraceCheckUtils]: 26: Hoare triple {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:32:49,570 INFO L290 TraceCheckUtils]: 27: Hoare triple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:32:49,571 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,571 INFO L272 TraceCheckUtils]: 29: Hoare triple {25438#(and (= main_~r~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)); {25385#true} is VALID [2022-04-15 08:32:49,571 INFO L290 TraceCheckUtils]: 30: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-15 08:32:49,571 INFO L290 TraceCheckUtils]: 31: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-15 08:32:49,571 INFO L290 TraceCheckUtils]: 32: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-15 08:32:49,572 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,572 INFO L290 TraceCheckUtils]: 34: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,573 INFO L290 TraceCheckUtils]: 35: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,573 INFO L290 TraceCheckUtils]: 36: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,574 INFO L290 TraceCheckUtils]: 37: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,574 INFO L272 TraceCheckUtils]: 38: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25385#true} is VALID [2022-04-15 08:32:49,574 INFO L290 TraceCheckUtils]: 39: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-15 08:32:49,574 INFO L290 TraceCheckUtils]: 40: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-15 08:32:49,574 INFO L290 TraceCheckUtils]: 41: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-15 08:32:49,575 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,575 INFO L272 TraceCheckUtils]: 43: Hoare triple {25438#(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)); {25385#true} is VALID [2022-04-15 08:32:49,575 INFO L290 TraceCheckUtils]: 44: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-15 08:32:49,575 INFO L290 TraceCheckUtils]: 45: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-15 08:32:49,576 INFO L290 TraceCheckUtils]: 46: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-15 08:32:49,576 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,576 INFO L272 TraceCheckUtils]: 48: Hoare triple {25438#(and (= main_~r~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)); {25385#true} is VALID [2022-04-15 08:32:49,577 INFO L290 TraceCheckUtils]: 49: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-15 08:32:49,577 INFO L290 TraceCheckUtils]: 50: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-15 08:32:49,577 INFO L290 TraceCheckUtils]: 51: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-15 08:32:49,578 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,578 INFO L290 TraceCheckUtils]: 53: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,579 INFO L290 TraceCheckUtils]: 54: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,579 INFO L290 TraceCheckUtils]: 55: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,580 INFO L290 TraceCheckUtils]: 56: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,580 INFO L272 TraceCheckUtils]: 57: Hoare triple {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25385#true} is VALID [2022-04-15 08:32:49,580 INFO L290 TraceCheckUtils]: 58: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-15 08:32:49,580 INFO L290 TraceCheckUtils]: 59: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-15 08:32:49,580 INFO L290 TraceCheckUtils]: 60: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-15 08:32:49,581 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,581 INFO L272 TraceCheckUtils]: 62: Hoare triple {25438#(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)); {25385#true} is VALID [2022-04-15 08:32:49,581 INFO L290 TraceCheckUtils]: 63: Hoare triple {25385#true} ~cond := #in~cond; {25385#true} is VALID [2022-04-15 08:32:49,581 INFO L290 TraceCheckUtils]: 64: Hoare triple {25385#true} assume !(0 == ~cond); {25385#true} is VALID [2022-04-15 08:32:49,581 INFO L290 TraceCheckUtils]: 65: Hoare triple {25385#true} assume true; {25385#true} is VALID [2022-04-15 08:32:49,582 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {25385#true} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,582 INFO L272 TraceCheckUtils]: 67: Hoare triple {25438#(and (= main_~r~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)); {25385#true} is VALID [2022-04-15 08:32:49,582 INFO L290 TraceCheckUtils]: 68: Hoare triple {25385#true} ~cond := #in~cond; {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:32:49,583 INFO L290 TraceCheckUtils]: 69: Hoare triple {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:32:49,583 INFO L290 TraceCheckUtils]: 70: Hoare triple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:32:49,584 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} {25438#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {25606#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,585 INFO L290 TraceCheckUtils]: 72: Hoare triple {25606#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {25606#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:32:49,586 INFO L290 TraceCheckUtils]: 73: Hoare triple {25606#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-15 08:32:49,587 INFO L290 TraceCheckUtils]: 74: Hoare triple {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-15 08:32:49,587 INFO L290 TraceCheckUtils]: 75: Hoare triple {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-15 08:32:49,587 INFO L272 TraceCheckUtils]: 76: Hoare triple {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {25385#true} is VALID [2022-04-15 08:32:49,588 INFO L290 TraceCheckUtils]: 77: Hoare triple {25385#true} ~cond := #in~cond; {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:32:49,588 INFO L290 TraceCheckUtils]: 78: Hoare triple {25466#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:32:49,588 INFO L290 TraceCheckUtils]: 79: Hoare triple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:32:49,604 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {25470#(not (= |__VERIFIER_assert_#in~cond| 0))} {25613#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ main_~x~0 (* (- 1) (* main_~y~0 main_~s~0)) (* (- 1) (* main_~q~0 main_~x~0)))) (= main_~r~0 (* (- 1) main_~s~0)))} #68#return; {25635#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} is VALID [2022-04-15 08:32:49,605 INFO L272 TraceCheckUtils]: 81: Hoare triple {25635#(and (= (* main_~p~0 (* (- 1) main_~r~0)) (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1)) (= main_~a~0 (+ (* (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (- 1)) (* (- 1) (* main_~y~0 (* (- 1) main_~r~0))) main_~x~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {25639#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:32:49,605 INFO L290 TraceCheckUtils]: 82: Hoare triple {25639#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {25643#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:32:49,606 INFO L290 TraceCheckUtils]: 83: Hoare triple {25643#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {25386#false} is VALID [2022-04-15 08:32:49,606 INFO L290 TraceCheckUtils]: 84: Hoare triple {25386#false} assume !false; {25386#false} is VALID [2022-04-15 08:32:49,606 INFO L134 CoverageAnalysis]: Checked inductivity of 237 backedges. 66 proven. 33 refuted. 0 times theorem prover too weak. 138 trivial. 0 not checked. [2022-04-15 08:32:49,606 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:34:29,577 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 08:34:41,449 WARN L914 QuantifierPusher]: no eliminatee completely removed, nonetheless the elimination was considered successful [2022-04-15 08:35:36,224 WARN L232 SmtUtils]: Spent 31.32s on a formula simplification. DAG size of input: 63 DAG size of output: 62 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 08:35:36,233 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:35:36,233 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [383087400] [2022-04-15 08:35:36,234 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:35:36,234 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1729513385] [2022-04-15 08:35:36,234 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1729513385] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 08:35:36,234 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 08:35:36,234 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-15 08:35:36,236 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:35:36,236 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [73374235] [2022-04-15 08:35:36,236 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [73374235] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:35:36,236 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:35:36,236 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 08:35:36,236 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [83811654] [2022-04-15 08:35:36,237 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:35:36,238 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 85 [2022-04-15 08:35:36,238 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:35:36,238 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:35:36,280 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-15 08:35:36,280 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 08:35:36,280 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:35:36,280 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 08:35:36,280 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=163, Unknown=0, NotChecked=0, Total=210 [2022-04-15 08:35:36,281 INFO L87 Difference]: Start difference. First operand 249 states and 294 transitions. Second operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:35:42,256 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:35:42,256 INFO L93 Difference]: Finished difference Result 315 states and 392 transitions. [2022-04-15 08:35:42,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 08:35:42,256 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) Word has length 85 [2022-04-15 08:35:42,257 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:35:42,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:35:42,259 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-15 08:35:42,259 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:35:42,261 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 110 transitions. [2022-04-15 08:35:42,261 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 110 transitions. [2022-04-15 08:35:42,455 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-15 08:35:42,463 INFO L225 Difference]: With dead ends: 315 [2022-04-15 08:35:42,463 INFO L226 Difference]: Without dead ends: 309 [2022-04-15 08:35:42,466 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 84 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 39.5s TimeCoverageRelationStatistics Valid=67, Invalid=238, Unknown=1, NotChecked=0, Total=306 [2022-04-15 08:35:42,466 INFO L913 BasicCegarLoop]: 51 mSDtfsCounter, 26 mSDsluCounter, 141 mSDsCounter, 0 mSdLazyCounter, 381 mSolverCounterSat, 27 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 192 SdHoareTripleChecker+Invalid, 408 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 27 IncrementalHoareTripleChecker+Valid, 381 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 08:35:42,467 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 192 Invalid, 408 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [27 Valid, 381 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 08:35:42,467 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 309 states. [2022-04-15 08:35:42,762 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 309 to 265. [2022-04-15 08:35:42,762 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:35:42,763 INFO L82 GeneralOperation]: Start isEquivalent. First operand 309 states. Second operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-15 08:35:42,763 INFO L74 IsIncluded]: Start isIncluded. First operand 309 states. Second operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-15 08:35:42,763 INFO L87 Difference]: Start difference. First operand 309 states. Second operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-15 08:35:42,773 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:35:42,773 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-15 08:35:42,773 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-15 08:35:42,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:35:42,774 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:35:42,775 INFO L74 IsIncluded]: Start isIncluded. First operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) Second operand 309 states. [2022-04-15 08:35:42,776 INFO L87 Difference]: Start difference. First operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) Second operand 309 states. [2022-04-15 08:35:42,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:35:42,784 INFO L93 Difference]: Finished difference Result 309 states and 381 transitions. [2022-04-15 08:35:42,784 INFO L276 IsEmpty]: Start isEmpty. Operand 309 states and 381 transitions. [2022-04-15 08:35:42,785 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:35:42,785 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:35:42,785 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:35:42,785 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:35:42,786 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 265 states, 167 states have (on average 1.1437125748502994) internal successors, (191), 175 states have internal predecessors, (191), 63 states have call successors, (63), 35 states have call predecessors, (63), 34 states have return successors, (59), 54 states have call predecessors, (59), 59 states have call successors, (59) [2022-04-15 08:35:42,794 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 265 states to 265 states and 313 transitions. [2022-04-15 08:35:42,795 INFO L78 Accepts]: Start accepts. Automaton has 265 states and 313 transitions. Word has length 85 [2022-04-15 08:35:42,795 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:35:42,795 INFO L478 AbstractCegarLoop]: Abstraction has 265 states and 313 transitions. [2022-04-15 08:35:42,795 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 8 states have internal predecessors, (24), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (9), 4 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-15 08:35:42,795 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 265 states and 313 transitions. [2022-04-15 08:35:43,581 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 313 edges. 313 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:35:43,581 INFO L276 IsEmpty]: Start isEmpty. Operand 265 states and 313 transitions. [2022-04-15 08:35:43,583 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-15 08:35:43,584 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:35:43,584 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:35:43,602 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-15 08:35:43,787 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,SelfDestructingSolverStorable21 [2022-04-15 08:35:43,787 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:35:43,788 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:35:43,788 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 13 times [2022-04-15 08:35:43,788 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:35:43,788 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [869263219] [2022-04-15 08:35:43,788 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:35:43,788 INFO L85 PathProgramCache]: Analyzing trace with hash -1358919972, now seen corresponding path program 14 times [2022-04-15 08:35:43,789 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:35:43,789 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [946920230] [2022-04-15 08:35:43,789 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:35:43,789 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:35:43,798 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:35:43,799 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [970325381] [2022-04-15 08:35:43,799 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:35:43,799 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:35:43,799 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:35:43,800 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-15 08:35:43,814 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-15 08:35:43,918 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:35:43,918 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:35:43,919 INFO L263 TraceCheckSpWp]: Trace formula consists of 237 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 08:35:43,933 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:35:43,935 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:35:45,109 INFO L272 TraceCheckUtils]: 0: Hoare triple {27480#true} call ULTIMATE.init(); {27480#true} is VALID [2022-04-15 08:35:45,110 INFO L290 TraceCheckUtils]: 1: Hoare triple {27480#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27480#true} is VALID [2022-04-15 08:35:45,110 INFO L290 TraceCheckUtils]: 2: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:45,110 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27480#true} {27480#true} #82#return; {27480#true} is VALID [2022-04-15 08:35:45,110 INFO L272 TraceCheckUtils]: 4: Hoare triple {27480#true} call #t~ret7 := main(); {27480#true} is VALID [2022-04-15 08:35:45,110 INFO L290 TraceCheckUtils]: 5: Hoare triple {27480#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27480#true} is VALID [2022-04-15 08:35:45,110 INFO L272 TraceCheckUtils]: 6: Hoare triple {27480#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:45,110 INFO L290 TraceCheckUtils]: 7: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:45,110 INFO L290 TraceCheckUtils]: 8: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:45,111 INFO L290 TraceCheckUtils]: 9: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:45,111 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27480#true} {27480#true} #64#return; {27480#true} is VALID [2022-04-15 08:35:45,111 INFO L272 TraceCheckUtils]: 11: Hoare triple {27480#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:45,111 INFO L290 TraceCheckUtils]: 12: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:45,111 INFO L290 TraceCheckUtils]: 13: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:45,111 INFO L290 TraceCheckUtils]: 14: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:45,111 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27480#true} {27480#true} #66#return; {27480#true} is VALID [2022-04-15 08:35:45,112 INFO L290 TraceCheckUtils]: 16: Hoare triple {27480#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27533#(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-15 08:35:45,112 INFO L290 TraceCheckUtils]: 17: Hoare triple {27533#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27533#(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-15 08:35:45,113 INFO L290 TraceCheckUtils]: 18: Hoare triple {27533#(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 !!(#t~post6 < 50);havoc #t~post6; {27533#(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-15 08:35:45,113 INFO L272 TraceCheckUtils]: 19: Hoare triple {27533#(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 __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:45,113 INFO L290 TraceCheckUtils]: 20: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:45,113 INFO L290 TraceCheckUtils]: 21: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:45,113 INFO L290 TraceCheckUtils]: 22: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:45,114 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27480#true} {27533#(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))} #68#return; {27533#(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-15 08:35:45,114 INFO L272 TraceCheckUtils]: 24: Hoare triple {27533#(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 __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:45,114 INFO L290 TraceCheckUtils]: 25: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:45,114 INFO L290 TraceCheckUtils]: 26: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:45,114 INFO L290 TraceCheckUtils]: 27: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:45,115 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27480#true} {27533#(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))} #70#return; {27533#(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-15 08:35:45,115 INFO L272 TraceCheckUtils]: 29: Hoare triple {27533#(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 __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:45,115 INFO L290 TraceCheckUtils]: 30: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:45,115 INFO L290 TraceCheckUtils]: 31: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:45,115 INFO L290 TraceCheckUtils]: 32: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:45,116 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27480#true} {27533#(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))} #72#return; {27533#(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-15 08:35:45,117 INFO L290 TraceCheckUtils]: 34: Hoare triple {27533#(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 !!(~a~0 != ~b~0); {27533#(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-15 08:35:45,117 INFO L290 TraceCheckUtils]: 35: Hoare triple {27533#(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 ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:35:45,118 INFO L290 TraceCheckUtils]: 36: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:35:45,119 INFO L290 TraceCheckUtils]: 37: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:35:45,119 INFO L272 TraceCheckUtils]: 38: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:45,119 INFO L290 TraceCheckUtils]: 39: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:45,119 INFO L290 TraceCheckUtils]: 40: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:45,119 INFO L290 TraceCheckUtils]: 41: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:45,120 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27480#true} {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:35:45,120 INFO L272 TraceCheckUtils]: 43: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~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)); {27480#true} is VALID [2022-04-15 08:35:45,120 INFO L290 TraceCheckUtils]: 44: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:45,120 INFO L290 TraceCheckUtils]: 45: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:45,120 INFO L290 TraceCheckUtils]: 46: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:45,121 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27480#true} {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:35:45,121 INFO L272 TraceCheckUtils]: 48: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~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)); {27480#true} is VALID [2022-04-15 08:35:45,121 INFO L290 TraceCheckUtils]: 49: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:45,121 INFO L290 TraceCheckUtils]: 50: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:45,121 INFO L290 TraceCheckUtils]: 51: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:45,122 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27480#true} {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:35:45,123 INFO L290 TraceCheckUtils]: 53: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:35:45,124 INFO L290 TraceCheckUtils]: 54: Hoare triple {27591#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-15 08:35:45,125 INFO L290 TraceCheckUtils]: 55: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-15 08:35:45,125 INFO L290 TraceCheckUtils]: 56: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} assume !!(#t~post6 < 50);havoc #t~post6; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-15 08:35:45,125 INFO L272 TraceCheckUtils]: 57: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:45,125 INFO L290 TraceCheckUtils]: 58: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:45,125 INFO L290 TraceCheckUtils]: 59: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:45,126 INFO L290 TraceCheckUtils]: 60: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:45,126 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27480#true} {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #68#return; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-15 08:35:45,126 INFO L272 TraceCheckUtils]: 62: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:45,127 INFO L290 TraceCheckUtils]: 63: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:45,127 INFO L290 TraceCheckUtils]: 64: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:45,127 INFO L290 TraceCheckUtils]: 65: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:45,127 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27480#true} {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #70#return; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-15 08:35:45,128 INFO L272 TraceCheckUtils]: 67: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:45,128 INFO L290 TraceCheckUtils]: 68: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:45,128 INFO L290 TraceCheckUtils]: 69: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:45,128 INFO L290 TraceCheckUtils]: 70: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:45,129 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27480#true} {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} #72#return; {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-15 08:35:45,129 INFO L290 TraceCheckUtils]: 72: Hoare triple {27649#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {27704#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} is VALID [2022-04-15 08:35:45,131 INFO L290 TraceCheckUtils]: 73: Hoare triple {27704#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (< (* main_~b~0 2) main_~x~0) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)) (= (+ main_~q~0 main_~p~0) (+ (* (- 1) main_~q~0) 1)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-15 08:35:45,132 INFO L290 TraceCheckUtils]: 74: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-15 08:35:45,133 INFO L290 TraceCheckUtils]: 75: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-15 08:35:45,133 INFO L272 TraceCheckUtils]: 76: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:45,133 INFO L290 TraceCheckUtils]: 77: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:45,133 INFO L290 TraceCheckUtils]: 78: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:45,133 INFO L290 TraceCheckUtils]: 79: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:45,134 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27480#true} {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #68#return; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-15 08:35:45,134 INFO L272 TraceCheckUtils]: 81: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:45,134 INFO L290 TraceCheckUtils]: 82: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:45,134 INFO L290 TraceCheckUtils]: 83: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:45,134 INFO L290 TraceCheckUtils]: 84: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:45,135 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27480#true} {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #70#return; {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-15 08:35:45,136 INFO L272 TraceCheckUtils]: 86: Hoare triple {27708#(and (= (+ main_~y~0 (* (- 1) main_~b~0)) (+ main_~x~0 (* (- 2) main_~y~0))) (= main_~s~0 3) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (< (* main_~y~0 2) main_~x~0) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:35:45,136 INFO L290 TraceCheckUtils]: 87: Hoare triple {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27752#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:35:45,137 INFO L290 TraceCheckUtils]: 88: Hoare triple {27752#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27481#false} is VALID [2022-04-15 08:35:45,137 INFO L290 TraceCheckUtils]: 89: Hoare triple {27481#false} assume !false; {27481#false} is VALID [2022-04-15 08:35:45,137 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 22 proven. 36 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-15 08:35:45,137 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:35:46,941 INFO L290 TraceCheckUtils]: 89: Hoare triple {27481#false} assume !false; {27481#false} is VALID [2022-04-15 08:35:46,942 INFO L290 TraceCheckUtils]: 88: Hoare triple {27752#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {27481#false} is VALID [2022-04-15 08:35:46,942 INFO L290 TraceCheckUtils]: 87: Hoare triple {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27752#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:35:46,943 INFO L272 TraceCheckUtils]: 86: Hoare triple {27768#(= 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)); {27748#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:35:46,943 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {27480#true} {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:35:46,943 INFO L290 TraceCheckUtils]: 84: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:46,944 INFO L290 TraceCheckUtils]: 83: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:46,944 INFO L290 TraceCheckUtils]: 82: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:46,944 INFO L272 TraceCheckUtils]: 81: Hoare triple {27768#(= 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)); {27480#true} is VALID [2022-04-15 08:35:46,944 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {27480#true} {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:35:46,944 INFO L290 TraceCheckUtils]: 79: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:46,944 INFO L290 TraceCheckUtils]: 78: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:46,944 INFO L290 TraceCheckUtils]: 77: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:46,945 INFO L272 TraceCheckUtils]: 76: Hoare triple {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:46,945 INFO L290 TraceCheckUtils]: 75: Hoare triple {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:35:46,945 INFO L290 TraceCheckUtils]: 74: Hoare triple {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:35:47,192 INFO L290 TraceCheckUtils]: 73: Hoare triple {27808#(or (< main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {27768#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:35:47,193 INFO L290 TraceCheckUtils]: 72: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(~a~0 != ~b~0); {27808#(or (< main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:35:47,193 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {27480#true} {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #72#return; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:35:47,193 INFO L290 TraceCheckUtils]: 70: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:47,193 INFO L290 TraceCheckUtils]: 69: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:47,193 INFO L290 TraceCheckUtils]: 68: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:47,194 INFO L272 TraceCheckUtils]: 67: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:47,194 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {27480#true} {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #70#return; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:35:47,194 INFO L290 TraceCheckUtils]: 65: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:47,194 INFO L290 TraceCheckUtils]: 64: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:47,194 INFO L290 TraceCheckUtils]: 63: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:47,194 INFO L272 TraceCheckUtils]: 62: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:47,195 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {27480#true} {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #68#return; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:35:47,195 INFO L290 TraceCheckUtils]: 60: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:47,195 INFO L290 TraceCheckUtils]: 59: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:47,195 INFO L290 TraceCheckUtils]: 58: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:47,195 INFO L272 TraceCheckUtils]: 57: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:47,196 INFO L290 TraceCheckUtils]: 56: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:35:47,196 INFO L290 TraceCheckUtils]: 55: Hoare triple {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:35:47,374 INFO L290 TraceCheckUtils]: 54: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27812#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:35:47,375 INFO L290 TraceCheckUtils]: 53: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !!(~a~0 != ~b~0); {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-15 08:35:47,375 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {27480#true} {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #72#return; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-15 08:35:47,376 INFO L290 TraceCheckUtils]: 51: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:47,376 INFO L290 TraceCheckUtils]: 50: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:47,376 INFO L290 TraceCheckUtils]: 49: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:47,376 INFO L272 TraceCheckUtils]: 48: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:47,376 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {27480#true} {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #70#return; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-15 08:35:47,376 INFO L290 TraceCheckUtils]: 46: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:47,377 INFO L290 TraceCheckUtils]: 45: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:47,377 INFO L290 TraceCheckUtils]: 44: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:47,377 INFO L272 TraceCheckUtils]: 43: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:47,377 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {27480#true} {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #68#return; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-15 08:35:47,377 INFO L290 TraceCheckUtils]: 41: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:47,378 INFO L290 TraceCheckUtils]: 40: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:47,378 INFO L290 TraceCheckUtils]: 39: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:47,378 INFO L272 TraceCheckUtils]: 38: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:47,378 INFO L290 TraceCheckUtils]: 37: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} assume !!(#t~post6 < 50);havoc #t~post6; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-15 08:35:47,379 INFO L290 TraceCheckUtils]: 36: Hoare triple {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-15 08:35:48,593 INFO L290 TraceCheckUtils]: 35: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {27867#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 2))) (< (* main_~b~0 2) main_~a~0) (not (< main_~b~0 main_~a~0)) (= (+ main_~a~0 (* (- 1) main_~b~0)) main_~b~0))} is VALID [2022-04-15 08:35:48,594 INFO L290 TraceCheckUtils]: 34: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !!(~a~0 != ~b~0); {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-15 08:35:48,595 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {27480#true} {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #72#return; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-15 08:35:48,595 INFO L290 TraceCheckUtils]: 32: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:48,595 INFO L290 TraceCheckUtils]: 31: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:48,595 INFO L290 TraceCheckUtils]: 30: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:48,595 INFO L272 TraceCheckUtils]: 29: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:48,596 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {27480#true} {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #70#return; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-15 08:35:48,596 INFO L290 TraceCheckUtils]: 27: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:48,596 INFO L290 TraceCheckUtils]: 26: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:48,596 INFO L290 TraceCheckUtils]: 25: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:48,596 INFO L272 TraceCheckUtils]: 24: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:48,597 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {27480#true} {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #68#return; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-15 08:35:48,597 INFO L290 TraceCheckUtils]: 22: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:48,597 INFO L290 TraceCheckUtils]: 21: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:48,597 INFO L290 TraceCheckUtils]: 20: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:48,597 INFO L272 TraceCheckUtils]: 19: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:48,598 INFO L290 TraceCheckUtils]: 18: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-15 08:35:48,598 INFO L290 TraceCheckUtils]: 17: Hoare triple {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-15 08:35:48,599 INFO L290 TraceCheckUtils]: 16: Hoare triple {27480#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {27925#(or (< (* main_~b~0 3) main_~a~0) (= (+ (* (+ (* main_~q~0 3) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 3) (* (- 1) main_~r~0)))) (+ (* (- 1) main_~a~0) (* main_~b~0 3))) (= (+ (* (- 2) main_~b~0) main_~a~0) main_~b~0) (not (< (* main_~b~0 2) main_~a~0)))} is VALID [2022-04-15 08:35:48,599 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {27480#true} {27480#true} #66#return; {27480#true} is VALID [2022-04-15 08:35:48,599 INFO L290 TraceCheckUtils]: 14: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:48,599 INFO L290 TraceCheckUtils]: 13: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:48,599 INFO L290 TraceCheckUtils]: 12: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:48,599 INFO L272 TraceCheckUtils]: 11: Hoare triple {27480#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:48,600 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {27480#true} {27480#true} #64#return; {27480#true} is VALID [2022-04-15 08:35:48,600 INFO L290 TraceCheckUtils]: 9: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:48,600 INFO L290 TraceCheckUtils]: 8: Hoare triple {27480#true} assume !(0 == ~cond); {27480#true} is VALID [2022-04-15 08:35:48,600 INFO L290 TraceCheckUtils]: 7: Hoare triple {27480#true} ~cond := #in~cond; {27480#true} is VALID [2022-04-15 08:35:48,600 INFO L272 TraceCheckUtils]: 6: Hoare triple {27480#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {27480#true} is VALID [2022-04-15 08:35:48,600 INFO L290 TraceCheckUtils]: 5: Hoare triple {27480#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {27480#true} is VALID [2022-04-15 08:35:48,600 INFO L272 TraceCheckUtils]: 4: Hoare triple {27480#true} call #t~ret7 := main(); {27480#true} is VALID [2022-04-15 08:35:48,600 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {27480#true} {27480#true} #82#return; {27480#true} is VALID [2022-04-15 08:35:48,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {27480#true} assume true; {27480#true} is VALID [2022-04-15 08:35:48,600 INFO L290 TraceCheckUtils]: 1: Hoare triple {27480#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {27480#true} is VALID [2022-04-15 08:35:48,601 INFO L272 TraceCheckUtils]: 0: Hoare triple {27480#true} call ULTIMATE.init(); {27480#true} is VALID [2022-04-15 08:35:48,601 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 22 proven. 36 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-15 08:35:48,601 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:35:48,601 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [946920230] [2022-04-15 08:35:48,601 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:35:48,602 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [970325381] [2022-04-15 08:35:48,602 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [970325381] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:35:48,602 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:35:48,602 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-15 08:35:48,602 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:35:48,602 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [869263219] [2022-04-15 08:35:48,602 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [869263219] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:35:48,602 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:35:48,602 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 08:35:48,603 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [740041815] [2022-04-15 08:35:48,603 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:35:48,603 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 90 [2022-04-15 08:35:48,603 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:35:48,603 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 08:35:48,670 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:35:48,670 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 08:35:48,670 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:35:48,670 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 08:35:48,670 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-15 08:35:48,671 INFO L87 Difference]: Start difference. First operand 265 states and 313 transitions. Second operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 08:35:52,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:35:52,155 INFO L93 Difference]: Finished difference Result 291 states and 354 transitions. [2022-04-15 08:35:52,155 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 08:35:52,156 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) Word has length 90 [2022-04-15 08:35:52,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:35:52,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 08:35:52,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-15 08:35:52,158 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 08:35:52,159 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 97 transitions. [2022-04-15 08:35:52,160 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 97 transitions. [2022-04-15 08:35:52,308 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:35:52,315 INFO L225 Difference]: With dead ends: 291 [2022-04-15 08:35:52,315 INFO L226 Difference]: Without dead ends: 285 [2022-04-15 08:35:52,315 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 180 GetRequests, 166 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-15 08:35:52,316 INFO L913 BasicCegarLoop]: 55 mSDtfsCounter, 10 mSDsluCounter, 186 mSDsCounter, 0 mSdLazyCounter, 284 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 241 SdHoareTripleChecker+Invalid, 294 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 284 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-15 08:35:52,316 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 241 Invalid, 294 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 284 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-15 08:35:52,316 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 285 states. [2022-04-15 08:35:52,635 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 285 to 269. [2022-04-15 08:35:52,635 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:35:52,636 INFO L82 GeneralOperation]: Start isEquivalent. First operand 285 states. Second operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-15 08:35:52,636 INFO L74 IsIncluded]: Start isIncluded. First operand 285 states. Second operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-15 08:35:52,636 INFO L87 Difference]: Start difference. First operand 285 states. Second operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-15 08:35:52,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:35:52,645 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-15 08:35:52,645 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-15 08:35:52,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:35:52,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:35:52,646 INFO L74 IsIncluded]: Start isIncluded. First operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) Second operand 285 states. [2022-04-15 08:35:52,647 INFO L87 Difference]: Start difference. First operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) Second operand 285 states. [2022-04-15 08:35:52,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:35:52,655 INFO L93 Difference]: Finished difference Result 285 states and 342 transitions. [2022-04-15 08:35:52,655 INFO L276 IsEmpty]: Start isEmpty. Operand 285 states and 342 transitions. [2022-04-15 08:35:52,656 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:35:52,656 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:35:52,656 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:35:52,656 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:35:52,656 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 269 states, 169 states have (on average 1.1420118343195267) internal successors, (193), 178 states have internal predecessors, (193), 65 states have call successors, (65), 35 states have call predecessors, (65), 34 states have return successors, (61), 55 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-15 08:35:52,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 269 states to 269 states and 319 transitions. [2022-04-15 08:35:52,665 INFO L78 Accepts]: Start accepts. Automaton has 269 states and 319 transitions. Word has length 90 [2022-04-15 08:35:52,665 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:35:52,666 INFO L478 AbstractCegarLoop]: Abstraction has 269 states and 319 transitions. [2022-04-15 08:35:52,666 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.0) internal successors, (27), 8 states have internal predecessors, (27), 5 states have call successors, (16), 2 states have call predecessors, (16), 1 states have return successors, (14), 5 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-15 08:35:52,666 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 269 states and 319 transitions. [2022-04-15 08:35:53,414 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 319 edges. 319 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:35:53,415 INFO L276 IsEmpty]: Start isEmpty. Operand 269 states and 319 transitions. [2022-04-15 08:35:53,419 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-15 08:35:53,420 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:35:53,420 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:35:53,447 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-15 08:35:53,644 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,SelfDestructingSolverStorable22 [2022-04-15 08:35:53,645 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:35:53,645 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:35:53,645 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 15 times [2022-04-15 08:35:53,645 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:35:53,645 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [395752062] [2022-04-15 08:35:53,646 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:35:53,646 INFO L85 PathProgramCache]: Analyzing trace with hash -1753286758, now seen corresponding path program 16 times [2022-04-15 08:35:53,646 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:35:53,646 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2009513743] [2022-04-15 08:35:53,646 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:35:53,646 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:35:53,659 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:35:53,659 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [804093560] [2022-04-15 08:35:53,659 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:35:53,659 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:35:53,660 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:35:53,661 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-15 08:35:53,662 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-15 08:35:53,723 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:35:53,723 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:35:53,724 INFO L263 TraceCheckSpWp]: Trace formula consists of 200 conjuncts, 46 conjunts are in the unsatisfiable core [2022-04-15 08:35:53,747 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:35:53,749 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:35:55,431 INFO L272 TraceCheckUtils]: 0: Hoare triple {29725#true} call ULTIMATE.init(); {29725#true} is VALID [2022-04-15 08:35:55,431 INFO L290 TraceCheckUtils]: 1: Hoare triple {29725#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {29725#true} is VALID [2022-04-15 08:35:55,432 INFO L290 TraceCheckUtils]: 2: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:35:55,432 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29725#true} {29725#true} #82#return; {29725#true} is VALID [2022-04-15 08:35:55,432 INFO L272 TraceCheckUtils]: 4: Hoare triple {29725#true} call #t~ret7 := main(); {29725#true} is VALID [2022-04-15 08:35:55,432 INFO L290 TraceCheckUtils]: 5: Hoare triple {29725#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29725#true} is VALID [2022-04-15 08:35:55,432 INFO L272 TraceCheckUtils]: 6: Hoare triple {29725#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:35:55,432 INFO L290 TraceCheckUtils]: 7: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:35:55,432 INFO L290 TraceCheckUtils]: 8: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:35:55,432 INFO L290 TraceCheckUtils]: 9: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:35:55,432 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29725#true} {29725#true} #64#return; {29725#true} is VALID [2022-04-15 08:35:55,432 INFO L272 TraceCheckUtils]: 11: Hoare triple {29725#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:35:55,433 INFO L290 TraceCheckUtils]: 12: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:35:55,433 INFO L290 TraceCheckUtils]: 13: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:35:55,433 INFO L290 TraceCheckUtils]: 14: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:35:55,433 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29725#true} {29725#true} #66#return; {29725#true} is VALID [2022-04-15 08:35:55,435 INFO L290 TraceCheckUtils]: 16: Hoare triple {29725#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 08:35:55,436 INFO L290 TraceCheckUtils]: 17: Hoare triple {29778#(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))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 08:35:55,436 INFO L290 TraceCheckUtils]: 18: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(#t~post6 < 50);havoc #t~post6; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 08:35:55,437 INFO L272 TraceCheckUtils]: 19: Hoare triple {29778#(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))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:35:55,437 INFO L290 TraceCheckUtils]: 20: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:35:55,437 INFO L290 TraceCheckUtils]: 21: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:35:55,437 INFO L290 TraceCheckUtils]: 22: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:35:55,438 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {29725#true} {29778#(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))} #68#return; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 08:35:55,438 INFO L272 TraceCheckUtils]: 24: Hoare triple {29778#(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))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:35:55,438 INFO L290 TraceCheckUtils]: 25: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:35:55,438 INFO L290 TraceCheckUtils]: 26: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:35:55,438 INFO L290 TraceCheckUtils]: 27: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:35:55,439 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {29725#true} {29778#(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))} #70#return; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 08:35:55,439 INFO L272 TraceCheckUtils]: 29: Hoare triple {29778#(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))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:35:55,439 INFO L290 TraceCheckUtils]: 30: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:35:55,439 INFO L290 TraceCheckUtils]: 31: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:35:55,439 INFO L290 TraceCheckUtils]: 32: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:35:55,440 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {29725#true} {29778#(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))} #72#return; {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 08:35:55,440 INFO L290 TraceCheckUtils]: 34: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-15 08:35:55,441 INFO L290 TraceCheckUtils]: 35: Hoare triple {29778#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:35:55,442 INFO L290 TraceCheckUtils]: 36: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:35:55,442 INFO L290 TraceCheckUtils]: 37: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:35:55,442 INFO L272 TraceCheckUtils]: 38: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:35:55,442 INFO L290 TraceCheckUtils]: 39: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:35:55,442 INFO L290 TraceCheckUtils]: 40: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:35:55,442 INFO L290 TraceCheckUtils]: 41: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:35:55,443 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {29725#true} {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #68#return; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:35:55,443 INFO L272 TraceCheckUtils]: 43: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:35:55,443 INFO L290 TraceCheckUtils]: 44: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:35:55,444 INFO L290 TraceCheckUtils]: 45: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:35:55,444 INFO L290 TraceCheckUtils]: 46: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:35:55,444 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {29725#true} {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #70#return; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:35:55,444 INFO L272 TraceCheckUtils]: 48: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:35:55,445 INFO L290 TraceCheckUtils]: 49: Hoare triple {29725#true} ~cond := #in~cond; {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:35:55,445 INFO L290 TraceCheckUtils]: 50: Hoare triple {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:35:55,446 INFO L290 TraceCheckUtils]: 51: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:35:55,446 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #72#return; {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:35:55,447 INFO L290 TraceCheckUtils]: 53: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-15 08:35:55,449 INFO L290 TraceCheckUtils]: 54: Hoare triple {29836#(and (= (+ main_~s~0 main_~r~0) 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:35:55,449 INFO L290 TraceCheckUtils]: 55: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:35:55,450 INFO L290 TraceCheckUtils]: 56: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(#t~post6 < 50);havoc #t~post6; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:35:55,450 INFO L272 TraceCheckUtils]: 57: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:35:55,450 INFO L290 TraceCheckUtils]: 58: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:35:55,450 INFO L290 TraceCheckUtils]: 59: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:35:55,450 INFO L290 TraceCheckUtils]: 60: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:35:55,451 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {29725#true} {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #68#return; {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:35:55,451 INFO L272 TraceCheckUtils]: 62: Hoare triple {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:35:55,452 INFO L290 TraceCheckUtils]: 63: Hoare triple {29725#true} ~cond := #in~cond; {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:35:55,452 INFO L290 TraceCheckUtils]: 64: Hoare triple {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:35:55,452 INFO L290 TraceCheckUtils]: 65: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:35:55,453 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29896#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #70#return; {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:35:55,454 INFO L272 TraceCheckUtils]: 67: Hoare triple {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:35:55,454 INFO L290 TraceCheckUtils]: 68: Hoare triple {29725#true} ~cond := #in~cond; {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:35:55,454 INFO L290 TraceCheckUtils]: 69: Hoare triple {29879#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:35:55,455 INFO L290 TraceCheckUtils]: 70: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:35:55,455 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #72#return; {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:35:55,456 INFO L290 TraceCheckUtils]: 72: Hoare triple {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-15 08:35:55,463 INFO L290 TraceCheckUtils]: 73: Hoare triple {29933#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= main_~q~0 (* (- 1) main_~p~0)) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-15 08:35:55,464 INFO L290 TraceCheckUtils]: 74: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-15 08:35:55,465 INFO L290 TraceCheckUtils]: 75: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} assume !!(#t~post6 < 50);havoc #t~post6; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-15 08:35:55,465 INFO L272 TraceCheckUtils]: 76: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:35:55,465 INFO L290 TraceCheckUtils]: 77: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:35:55,465 INFO L290 TraceCheckUtils]: 78: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:35:55,465 INFO L290 TraceCheckUtils]: 79: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:35:55,466 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {29725#true} {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} #68#return; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-15 08:35:55,466 INFO L272 TraceCheckUtils]: 81: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:35:55,466 INFO L290 TraceCheckUtils]: 82: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:35:55,466 INFO L290 TraceCheckUtils]: 83: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:35:55,467 INFO L290 TraceCheckUtils]: 84: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:35:55,467 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {29725#true} {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} #70#return; {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} is VALID [2022-04-15 08:35:55,470 INFO L272 TraceCheckUtils]: 86: Hoare triple {29955#(and (= main_~s~0 3) (= (mod main_~q~0 2) 0) (= main_~b~0 (+ (* (- 2) main_~x~0) (* main_~y~0 3))) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (div (- main_~q~0) 2) main_~x~0) (* (- 1) main_~y~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:35:55,471 INFO L290 TraceCheckUtils]: 87: Hoare triple {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29999#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:35:55,471 INFO L290 TraceCheckUtils]: 88: Hoare triple {29999#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29726#false} is VALID [2022-04-15 08:35:55,472 INFO L290 TraceCheckUtils]: 89: Hoare triple {29726#false} assume !false; {29726#false} is VALID [2022-04-15 08:35:55,472 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 70 proven. 60 refuted. 0 times theorem prover too weak. 152 trivial. 0 not checked. [2022-04-15 08:35:55,472 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:36:26,701 INFO L290 TraceCheckUtils]: 89: Hoare triple {29726#false} assume !false; {29726#false} is VALID [2022-04-15 08:36:26,701 INFO L290 TraceCheckUtils]: 88: Hoare triple {29999#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29726#false} is VALID [2022-04-15 08:36:26,702 INFO L290 TraceCheckUtils]: 87: Hoare triple {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29999#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:36:26,702 INFO L272 TraceCheckUtils]: 86: Hoare triple {30015#(= 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)); {29995#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:36:26,703 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {29725#true} {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #70#return; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:36:26,703 INFO L290 TraceCheckUtils]: 84: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:36:26,703 INFO L290 TraceCheckUtils]: 83: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:36:26,703 INFO L290 TraceCheckUtils]: 82: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:36:26,703 INFO L272 TraceCheckUtils]: 81: Hoare triple {30015#(= 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)); {29725#true} is VALID [2022-04-15 08:36:26,704 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {29725#true} {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #68#return; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:36:26,704 INFO L290 TraceCheckUtils]: 79: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:36:26,704 INFO L290 TraceCheckUtils]: 78: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:36:26,704 INFO L290 TraceCheckUtils]: 77: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:36:26,704 INFO L272 TraceCheckUtils]: 76: Hoare triple {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:36:26,705 INFO L290 TraceCheckUtils]: 75: Hoare triple {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:36:26,705 INFO L290 TraceCheckUtils]: 74: Hoare triple {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:36:28,708 WARN L290 TraceCheckUtils]: 73: Hoare triple {30055#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {30015#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is UNKNOWN [2022-04-15 08:36:28,709 INFO L290 TraceCheckUtils]: 72: Hoare triple {30055#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} assume !!(~a~0 != ~b~0); {30055#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 08:36:28,710 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {30062#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} #72#return; {30055#(= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0))} is VALID [2022-04-15 08:36:28,710 INFO L290 TraceCheckUtils]: 70: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:36:28,710 INFO L290 TraceCheckUtils]: 69: Hoare triple {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:36:28,711 INFO L290 TraceCheckUtils]: 68: Hoare triple {29725#true} ~cond := #in~cond; {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:36:28,711 INFO L272 TraceCheckUtils]: 67: Hoare triple {30062#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:36:28,713 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} {29725#true} #70#return; {30062#(or (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))) (= (+ (* (+ main_~s~0 (* (- 1) main_~r~0)) main_~y~0) (* main_~x~0 (+ main_~q~0 (* (- 1) main_~p~0)))) (+ (* (- 1) main_~a~0) main_~b~0)))} is VALID [2022-04-15 08:36:28,713 INFO L290 TraceCheckUtils]: 65: Hoare triple {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:36:28,713 INFO L290 TraceCheckUtils]: 64: Hoare triple {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {29883#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:36:28,714 INFO L290 TraceCheckUtils]: 63: Hoare triple {29725#true} ~cond := #in~cond; {30072#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:36:28,714 INFO L272 TraceCheckUtils]: 62: Hoare triple {29725#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:36:28,714 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {29725#true} {29725#true} #68#return; {29725#true} is VALID [2022-04-15 08:36:28,714 INFO L290 TraceCheckUtils]: 60: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:36:28,714 INFO L290 TraceCheckUtils]: 59: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:36:28,714 INFO L290 TraceCheckUtils]: 58: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:36:28,714 INFO L272 TraceCheckUtils]: 57: Hoare triple {29725#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:36:28,714 INFO L290 TraceCheckUtils]: 56: Hoare triple {29725#true} assume !!(#t~post6 < 50);havoc #t~post6; {29725#true} is VALID [2022-04-15 08:36:28,714 INFO L290 TraceCheckUtils]: 55: Hoare triple {29725#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29725#true} is VALID [2022-04-15 08:36:28,714 INFO L290 TraceCheckUtils]: 54: Hoare triple {29725#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {29725#true} is VALID [2022-04-15 08:36:28,714 INFO L290 TraceCheckUtils]: 53: Hoare triple {29725#true} assume !!(~a~0 != ~b~0); {29725#true} is VALID [2022-04-15 08:36:28,714 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {29725#true} {29725#true} #72#return; {29725#true} is VALID [2022-04-15 08:36:28,714 INFO L290 TraceCheckUtils]: 51: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:36:28,715 INFO L290 TraceCheckUtils]: 50: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:36:28,715 INFO L290 TraceCheckUtils]: 49: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:36:28,715 INFO L272 TraceCheckUtils]: 48: Hoare triple {29725#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:36:28,715 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {29725#true} {29725#true} #70#return; {29725#true} is VALID [2022-04-15 08:36:28,715 INFO L290 TraceCheckUtils]: 46: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:36:28,715 INFO L290 TraceCheckUtils]: 45: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:36:28,715 INFO L290 TraceCheckUtils]: 44: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:36:28,715 INFO L272 TraceCheckUtils]: 43: Hoare triple {29725#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:36:28,715 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {29725#true} {29725#true} #68#return; {29725#true} is VALID [2022-04-15 08:36:28,715 INFO L290 TraceCheckUtils]: 41: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:36:28,715 INFO L290 TraceCheckUtils]: 40: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:36:28,715 INFO L290 TraceCheckUtils]: 39: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:36:28,715 INFO L272 TraceCheckUtils]: 38: Hoare triple {29725#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:36:28,715 INFO L290 TraceCheckUtils]: 37: Hoare triple {29725#true} assume !!(#t~post6 < 50);havoc #t~post6; {29725#true} is VALID [2022-04-15 08:36:28,715 INFO L290 TraceCheckUtils]: 36: Hoare triple {29725#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29725#true} is VALID [2022-04-15 08:36:28,716 INFO L290 TraceCheckUtils]: 35: Hoare triple {29725#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {29725#true} is VALID [2022-04-15 08:36:28,716 INFO L290 TraceCheckUtils]: 34: Hoare triple {29725#true} assume !!(~a~0 != ~b~0); {29725#true} is VALID [2022-04-15 08:36:28,716 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {29725#true} {29725#true} #72#return; {29725#true} is VALID [2022-04-15 08:36:28,716 INFO L290 TraceCheckUtils]: 32: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:36:28,716 INFO L290 TraceCheckUtils]: 31: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:36:28,716 INFO L290 TraceCheckUtils]: 30: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:36:28,716 INFO L272 TraceCheckUtils]: 29: Hoare triple {29725#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:36:28,716 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {29725#true} {29725#true} #70#return; {29725#true} is VALID [2022-04-15 08:36:28,716 INFO L290 TraceCheckUtils]: 27: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:36:28,716 INFO L290 TraceCheckUtils]: 26: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:36:28,717 INFO L290 TraceCheckUtils]: 25: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:36:28,717 INFO L272 TraceCheckUtils]: 24: Hoare triple {29725#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:36:28,717 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {29725#true} {29725#true} #68#return; {29725#true} is VALID [2022-04-15 08:36:28,717 INFO L290 TraceCheckUtils]: 22: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:36:28,717 INFO L290 TraceCheckUtils]: 21: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:36:28,717 INFO L290 TraceCheckUtils]: 20: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:36:28,717 INFO L272 TraceCheckUtils]: 19: Hoare triple {29725#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:36:28,717 INFO L290 TraceCheckUtils]: 18: Hoare triple {29725#true} assume !!(#t~post6 < 50);havoc #t~post6; {29725#true} is VALID [2022-04-15 08:36:28,717 INFO L290 TraceCheckUtils]: 17: Hoare triple {29725#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {29725#true} is VALID [2022-04-15 08:36:28,718 INFO L290 TraceCheckUtils]: 16: Hoare triple {29725#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29725#true} is VALID [2022-04-15 08:36:28,718 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29725#true} {29725#true} #66#return; {29725#true} is VALID [2022-04-15 08:36:28,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:36:28,718 INFO L290 TraceCheckUtils]: 13: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:36:28,718 INFO L290 TraceCheckUtils]: 12: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:36:28,718 INFO L272 TraceCheckUtils]: 11: Hoare triple {29725#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:36:28,718 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29725#true} {29725#true} #64#return; {29725#true} is VALID [2022-04-15 08:36:28,718 INFO L290 TraceCheckUtils]: 9: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:36:28,718 INFO L290 TraceCheckUtils]: 8: Hoare triple {29725#true} assume !(0 == ~cond); {29725#true} is VALID [2022-04-15 08:36:28,718 INFO L290 TraceCheckUtils]: 7: Hoare triple {29725#true} ~cond := #in~cond; {29725#true} is VALID [2022-04-15 08:36:28,719 INFO L272 TraceCheckUtils]: 6: Hoare triple {29725#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29725#true} is VALID [2022-04-15 08:36:28,719 INFO L290 TraceCheckUtils]: 5: Hoare triple {29725#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {29725#true} is VALID [2022-04-15 08:36:28,719 INFO L272 TraceCheckUtils]: 4: Hoare triple {29725#true} call #t~ret7 := main(); {29725#true} is VALID [2022-04-15 08:36:28,719 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29725#true} {29725#true} #82#return; {29725#true} is VALID [2022-04-15 08:36:28,719 INFO L290 TraceCheckUtils]: 2: Hoare triple {29725#true} assume true; {29725#true} is VALID [2022-04-15 08:36:28,719 INFO L290 TraceCheckUtils]: 1: Hoare triple {29725#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {29725#true} is VALID [2022-04-15 08:36:28,719 INFO L272 TraceCheckUtils]: 0: Hoare triple {29725#true} call ULTIMATE.init(); {29725#true} is VALID [2022-04-15 08:36:28,720 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 82 proven. 15 refuted. 0 times theorem prover too weak. 185 trivial. 0 not checked. [2022-04-15 08:36:28,720 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:36:28,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2009513743] [2022-04-15 08:36:28,720 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:36:28,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [804093560] [2022-04-15 08:36:28,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [804093560] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:36:28,720 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:36:28,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 9] total 15 [2022-04-15 08:36:28,721 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:36:28,721 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [395752062] [2022-04-15 08:36:28,721 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [395752062] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:36:28,721 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:36:28,721 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 08:36:28,721 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1288317232] [2022-04-15 08:36:28,721 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:36:28,722 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 90 [2022-04-15 08:36:28,722 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:36:28,722 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 08:36:28,814 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-15 08:36:28,815 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 08:36:28,815 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:36:28,815 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 08:36:28,815 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=170, Unknown=0, NotChecked=0, Total=210 [2022-04-15 08:36:28,816 INFO L87 Difference]: Start difference. First operand 269 states and 319 transitions. Second operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 08:36:32,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:36:32,793 INFO L93 Difference]: Finished difference Result 310 states and 377 transitions. [2022-04-15 08:36:32,793 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 08:36:32,793 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) Word has length 90 [2022-04-15 08:36:32,793 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:36:32,794 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 08:36:32,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-15 08:36:32,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 08:36:32,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 97 transitions. [2022-04-15 08:36:32,797 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 97 transitions. [2022-04-15 08:36:32,966 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:36:32,973 INFO L225 Difference]: With dead ends: 310 [2022-04-15 08:36:32,973 INFO L226 Difference]: Without dead ends: 304 [2022-04-15 08:36:32,973 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 181 GetRequests, 164 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=53, Invalid=219, Unknown=0, NotChecked=0, Total=272 [2022-04-15 08:36:32,974 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 15 mSDsluCounter, 171 mSDsCounter, 0 mSdLazyCounter, 419 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 219 SdHoareTripleChecker+Invalid, 433 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 419 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-15 08:36:32,974 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 219 Invalid, 433 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 419 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-15 08:36:32,975 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 304 states. [2022-04-15 08:36:33,320 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 304 to 284. [2022-04-15 08:36:33,320 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:36:33,321 INFO L82 GeneralOperation]: Start isEquivalent. First operand 304 states. Second operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-15 08:36:33,321 INFO L74 IsIncluded]: Start isIncluded. First operand 304 states. Second operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-15 08:36:33,321 INFO L87 Difference]: Start difference. First operand 304 states. Second operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-15 08:36:33,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:36:33,329 INFO L93 Difference]: Finished difference Result 304 states and 365 transitions. [2022-04-15 08:36:33,329 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 365 transitions. [2022-04-15 08:36:33,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:36:33,330 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:36:33,331 INFO L74 IsIncluded]: Start isIncluded. First operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) Second operand 304 states. [2022-04-15 08:36:33,331 INFO L87 Difference]: Start difference. First operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) Second operand 304 states. [2022-04-15 08:36:33,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:36:33,339 INFO L93 Difference]: Finished difference Result 304 states and 365 transitions. [2022-04-15 08:36:33,339 INFO L276 IsEmpty]: Start isEmpty. Operand 304 states and 365 transitions. [2022-04-15 08:36:33,340 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:36:33,340 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:36:33,340 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:36:33,340 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:36:33,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 284 states, 179 states have (on average 1.1396648044692737) internal successors, (204), 188 states have internal predecessors, (204), 68 states have call successors, (68), 37 states have call predecessors, (68), 36 states have return successors, (64), 58 states have call predecessors, (64), 64 states have call successors, (64) [2022-04-15 08:36:33,349 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 284 states to 284 states and 336 transitions. [2022-04-15 08:36:33,349 INFO L78 Accepts]: Start accepts. Automaton has 284 states and 336 transitions. Word has length 90 [2022-04-15 08:36:33,350 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:36:33,350 INFO L478 AbstractCegarLoop]: Abstraction has 284 states and 336 transitions. [2022-04-15 08:36:33,350 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.727272727272727) internal successors, (30), 10 states have internal predecessors, (30), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 6 states have call predecessors, (14), 6 states have call successors, (14) [2022-04-15 08:36:33,350 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 284 states and 336 transitions. [2022-04-15 08:36:34,372 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 336 edges. 336 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:36:34,373 INFO L276 IsEmpty]: Start isEmpty. Operand 284 states and 336 transitions. [2022-04-15 08:36:34,373 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 91 [2022-04-15 08:36:34,373 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:36:34,374 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 4, 4, 4, 4, 4, 4, 4, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:36:34,402 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Ended with exit code 0 [2022-04-15 08:36:34,587 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:36:34,588 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:36:34,588 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:36:34,588 INFO L85 PathProgramCache]: Analyzing trace with hash 27865438, now seen corresponding path program 17 times [2022-04-15 08:36:34,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:36:34,588 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1592677868] [2022-04-15 08:36:34,588 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:36:34,588 INFO L85 PathProgramCache]: Analyzing trace with hash 27865438, now seen corresponding path program 18 times [2022-04-15 08:36:34,588 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:36:34,589 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [429392449] [2022-04-15 08:36:34,589 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:36:34,589 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:36:34,598 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:36:34,598 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [48407215] [2022-04-15 08:36:34,598 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 08:36:34,598 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:36:34,599 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:36:34,603 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:36:34,604 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-15 08:36:34,714 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 08:36:34,714 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:36:34,715 INFO L263 TraceCheckSpWp]: Trace formula consists of 197 conjuncts, 37 conjunts are in the unsatisfiable core [2022-04-15 08:36:34,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:36:34,833 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:38:41,717 INFO L272 TraceCheckUtils]: 0: Hoare triple {32079#true} call ULTIMATE.init(); {32079#true} is VALID [2022-04-15 08:38:41,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {32079#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {32079#true} is VALID [2022-04-15 08:38:41,717 INFO L290 TraceCheckUtils]: 2: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:38:41,717 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32079#true} {32079#true} #82#return; {32079#true} is VALID [2022-04-15 08:38:41,717 INFO L272 TraceCheckUtils]: 4: Hoare triple {32079#true} call #t~ret7 := main(); {32079#true} is VALID [2022-04-15 08:38:41,717 INFO L290 TraceCheckUtils]: 5: Hoare triple {32079#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {32079#true} is VALID [2022-04-15 08:38:41,717 INFO L272 TraceCheckUtils]: 6: Hoare triple {32079#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:38:41,718 INFO L290 TraceCheckUtils]: 7: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:38:41,718 INFO L290 TraceCheckUtils]: 8: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:38:41,718 INFO L290 TraceCheckUtils]: 9: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:38:41,718 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32079#true} {32079#true} #64#return; {32079#true} is VALID [2022-04-15 08:38:41,718 INFO L272 TraceCheckUtils]: 11: Hoare triple {32079#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:38:41,718 INFO L290 TraceCheckUtils]: 12: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:38:41,718 INFO L290 TraceCheckUtils]: 13: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:38:41,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:38:41,718 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32079#true} {32079#true} #66#return; {32079#true} is VALID [2022-04-15 08:38:41,718 INFO L290 TraceCheckUtils]: 16: Hoare triple {32079#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:38:41,719 INFO L290 TraceCheckUtils]: 17: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:38:41,719 INFO L290 TraceCheckUtils]: 18: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:38:41,719 INFO L272 TraceCheckUtils]: 19: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:38:41,719 INFO L290 TraceCheckUtils]: 20: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:38:41,719 INFO L290 TraceCheckUtils]: 21: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:38:41,719 INFO L290 TraceCheckUtils]: 22: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:38:41,720 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:38:41,720 INFO L272 TraceCheckUtils]: 24: Hoare triple {32132#(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)); {32079#true} is VALID [2022-04-15 08:38:41,720 INFO L290 TraceCheckUtils]: 25: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:38:41,720 INFO L290 TraceCheckUtils]: 26: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:38:41,720 INFO L290 TraceCheckUtils]: 27: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:38:41,721 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:38:41,721 INFO L272 TraceCheckUtils]: 29: Hoare triple {32132#(and (= main_~r~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)); {32079#true} is VALID [2022-04-15 08:38:41,721 INFO L290 TraceCheckUtils]: 30: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:38:41,721 INFO L290 TraceCheckUtils]: 31: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:38:41,721 INFO L290 TraceCheckUtils]: 32: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:38:41,722 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:38:41,722 INFO L290 TraceCheckUtils]: 34: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:38:41,722 INFO L290 TraceCheckUtils]: 35: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:38:41,723 INFO L290 TraceCheckUtils]: 36: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:38:41,723 INFO L290 TraceCheckUtils]: 37: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:38:41,723 INFO L272 TraceCheckUtils]: 38: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:38:41,723 INFO L290 TraceCheckUtils]: 39: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:38:41,723 INFO L290 TraceCheckUtils]: 40: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:38:41,723 INFO L290 TraceCheckUtils]: 41: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:38:41,724 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:38:41,724 INFO L272 TraceCheckUtils]: 43: Hoare triple {32132#(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)); {32079#true} is VALID [2022-04-15 08:38:41,724 INFO L290 TraceCheckUtils]: 44: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:38:41,724 INFO L290 TraceCheckUtils]: 45: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:38:41,724 INFO L290 TraceCheckUtils]: 46: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:38:41,725 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:38:41,725 INFO L272 TraceCheckUtils]: 48: Hoare triple {32132#(and (= main_~r~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)); {32079#true} is VALID [2022-04-15 08:38:41,725 INFO L290 TraceCheckUtils]: 49: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:38:41,725 INFO L290 TraceCheckUtils]: 50: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:38:41,725 INFO L290 TraceCheckUtils]: 51: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:38:41,726 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {32079#true} {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:38:41,726 INFO L290 TraceCheckUtils]: 53: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 08:38:41,726 INFO L290 TraceCheckUtils]: 54: Hoare triple {32132#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-15 08:38:41,727 INFO L290 TraceCheckUtils]: 55: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-15 08:38:41,727 INFO L290 TraceCheckUtils]: 56: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-15 08:38:41,727 INFO L272 TraceCheckUtils]: 57: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:38:41,727 INFO L290 TraceCheckUtils]: 58: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:38:41,728 INFO L290 TraceCheckUtils]: 59: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:38:41,728 INFO L290 TraceCheckUtils]: 60: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:38:41,728 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {32079#true} {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #68#return; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-15 08:38:41,728 INFO L272 TraceCheckUtils]: 62: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:38:41,728 INFO L290 TraceCheckUtils]: 63: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:38:41,728 INFO L290 TraceCheckUtils]: 64: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:38:41,728 INFO L290 TraceCheckUtils]: 65: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:38:41,729 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {32079#true} {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #70#return; {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-15 08:38:41,729 INFO L272 TraceCheckUtils]: 67: Hoare triple {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:38:41,729 INFO L290 TraceCheckUtils]: 68: Hoare triple {32079#true} ~cond := #in~cond; {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:38:41,730 INFO L290 TraceCheckUtils]: 69: Hoare triple {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:38:41,730 INFO L290 TraceCheckUtils]: 70: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:38:41,731 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32247#(and (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} #72#return; {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-15 08:38:41,731 INFO L290 TraceCheckUtils]: 72: Hoare triple {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} assume !!(~a~0 != ~b~0); {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} is VALID [2022-04-15 08:38:41,753 INFO L290 TraceCheckUtils]: 73: Hoare triple {32301#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-15 08:38:41,754 INFO L290 TraceCheckUtils]: 74: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-15 08:38:41,754 INFO L290 TraceCheckUtils]: 75: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume !!(#t~post6 < 50);havoc #t~post6; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-15 08:38:41,755 INFO L272 TraceCheckUtils]: 76: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:38:41,755 INFO L290 TraceCheckUtils]: 77: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:38:41,755 INFO L290 TraceCheckUtils]: 78: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:38:41,755 INFO L290 TraceCheckUtils]: 79: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:38:41,755 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {32079#true} {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #68#return; {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-15 08:38:41,755 INFO L272 TraceCheckUtils]: 81: Hoare triple {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:38:41,756 INFO L290 TraceCheckUtils]: 82: Hoare triple {32079#true} ~cond := #in~cond; {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:38:41,756 INFO L290 TraceCheckUtils]: 83: Hoare triple {32290#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:38:41,756 INFO L290 TraceCheckUtils]: 84: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:38:43,760 WARN L284 TraceCheckUtils]: 85: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32308#(and (= main_~p~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0) 1)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #70#return; {32345#(and (= (+ (* (+ (div (+ (* (- 1) main_~q~0) 1) 2) main_~q~0) main_~x~0) (* main_~y~0 (+ main_~s~0 (div (- main_~s~0) 2)))) (+ main_~x~0 (* (- 1) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 1)))) (= (+ main_~x~0 (* (- 2) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 2))) main_~b~0) (= (mod main_~s~0 2) 0) (= (mod (+ main_~q~0 1) 2) 0))} is UNKNOWN [2022-04-15 08:38:43,773 INFO L272 TraceCheckUtils]: 86: Hoare triple {32345#(and (= (+ (* (+ (div (+ (* (- 1) main_~q~0) 1) 2) main_~q~0) main_~x~0) (* main_~y~0 (+ main_~s~0 (div (- main_~s~0) 2)))) (+ main_~x~0 (* (- 1) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 1)))) (= (+ main_~x~0 (* (- 2) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (* main_~y~0 (div (- main_~s~0) 2)) (- 2))) main_~b~0) (= (mod main_~s~0 2) 0) (= (mod (+ main_~q~0 1) 2) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:38:43,773 INFO L290 TraceCheckUtils]: 87: Hoare triple {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:38:43,773 INFO L290 TraceCheckUtils]: 88: Hoare triple {32353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32080#false} is VALID [2022-04-15 08:38:43,774 INFO L290 TraceCheckUtils]: 89: Hoare triple {32080#false} assume !false; {32080#false} is VALID [2022-04-15 08:38:43,774 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 71 proven. 34 refuted. 0 times theorem prover too weak. 177 trivial. 0 not checked. [2022-04-15 08:38:43,774 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:39:11,970 INFO L290 TraceCheckUtils]: 89: Hoare triple {32080#false} assume !false; {32080#false} is VALID [2022-04-15 08:39:11,970 INFO L290 TraceCheckUtils]: 88: Hoare triple {32353#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {32080#false} is VALID [2022-04-15 08:39:11,971 INFO L290 TraceCheckUtils]: 87: Hoare triple {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32353#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:39:11,972 INFO L272 TraceCheckUtils]: 86: Hoare triple {32369#(= 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)); {32349#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:39:11,972 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {32369#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-15 08:39:11,973 INFO L290 TraceCheckUtils]: 84: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:39:11,973 INFO L290 TraceCheckUtils]: 83: Hoare triple {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:39:11,973 INFO L290 TraceCheckUtils]: 82: Hoare triple {32079#true} ~cond := #in~cond; {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:39:11,973 INFO L272 TraceCheckUtils]: 81: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:39:11,974 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {32079#true} {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:39:11,974 INFO L290 TraceCheckUtils]: 79: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:39:11,974 INFO L290 TraceCheckUtils]: 78: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:39:11,974 INFO L290 TraceCheckUtils]: 77: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:39:11,974 INFO L272 TraceCheckUtils]: 76: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:39:11,975 INFO L290 TraceCheckUtils]: 75: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:39:11,975 INFO L290 TraceCheckUtils]: 74: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:39:13,147 INFO L290 TraceCheckUtils]: 73: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:39:13,148 INFO L290 TraceCheckUtils]: 72: Hoare triple {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(~a~0 != ~b~0); {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:39:13,148 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} {32079#true} #72#return; {32373#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:39:13,149 INFO L290 TraceCheckUtils]: 70: Hoare triple {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:39:13,149 INFO L290 TraceCheckUtils]: 69: Hoare triple {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {32294#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:39:13,149 INFO L290 TraceCheckUtils]: 68: Hoare triple {32079#true} ~cond := #in~cond; {32383#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:39:13,150 INFO L272 TraceCheckUtils]: 67: Hoare triple {32079#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:39:13,150 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {32079#true} {32079#true} #70#return; {32079#true} is VALID [2022-04-15 08:39:13,150 INFO L290 TraceCheckUtils]: 65: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:39:13,150 INFO L290 TraceCheckUtils]: 64: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:39:13,150 INFO L290 TraceCheckUtils]: 63: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:39:13,150 INFO L272 TraceCheckUtils]: 62: Hoare triple {32079#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:39:13,150 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {32079#true} {32079#true} #68#return; {32079#true} is VALID [2022-04-15 08:39:13,150 INFO L290 TraceCheckUtils]: 60: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:39:13,150 INFO L290 TraceCheckUtils]: 59: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:39:13,150 INFO L290 TraceCheckUtils]: 58: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:39:13,150 INFO L272 TraceCheckUtils]: 57: Hoare triple {32079#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:39:13,150 INFO L290 TraceCheckUtils]: 56: Hoare triple {32079#true} assume !!(#t~post6 < 50);havoc #t~post6; {32079#true} is VALID [2022-04-15 08:39:13,150 INFO L290 TraceCheckUtils]: 55: Hoare triple {32079#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32079#true} is VALID [2022-04-15 08:39:13,150 INFO L290 TraceCheckUtils]: 54: Hoare triple {32079#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {32079#true} is VALID [2022-04-15 08:39:13,151 INFO L290 TraceCheckUtils]: 53: Hoare triple {32079#true} assume !!(~a~0 != ~b~0); {32079#true} is VALID [2022-04-15 08:39:13,151 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {32079#true} {32079#true} #72#return; {32079#true} is VALID [2022-04-15 08:39:13,151 INFO L290 TraceCheckUtils]: 51: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:39:13,151 INFO L290 TraceCheckUtils]: 50: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:39:13,151 INFO L290 TraceCheckUtils]: 49: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:39:13,151 INFO L272 TraceCheckUtils]: 48: Hoare triple {32079#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:39:13,151 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {32079#true} {32079#true} #70#return; {32079#true} is VALID [2022-04-15 08:39:13,151 INFO L290 TraceCheckUtils]: 46: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:39:13,151 INFO L290 TraceCheckUtils]: 45: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:39:13,151 INFO L290 TraceCheckUtils]: 44: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:39:13,151 INFO L272 TraceCheckUtils]: 43: Hoare triple {32079#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:39:13,152 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {32079#true} {32079#true} #68#return; {32079#true} is VALID [2022-04-15 08:39:13,152 INFO L290 TraceCheckUtils]: 41: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:39:13,152 INFO L290 TraceCheckUtils]: 40: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:39:13,153 INFO L290 TraceCheckUtils]: 39: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:39:13,153 INFO L272 TraceCheckUtils]: 38: Hoare triple {32079#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:39:13,153 INFO L290 TraceCheckUtils]: 37: Hoare triple {32079#true} assume !!(#t~post6 < 50);havoc #t~post6; {32079#true} is VALID [2022-04-15 08:39:13,153 INFO L290 TraceCheckUtils]: 36: Hoare triple {32079#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32079#true} is VALID [2022-04-15 08:39:13,153 INFO L290 TraceCheckUtils]: 35: Hoare triple {32079#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {32079#true} is VALID [2022-04-15 08:39:13,153 INFO L290 TraceCheckUtils]: 34: Hoare triple {32079#true} assume !!(~a~0 != ~b~0); {32079#true} is VALID [2022-04-15 08:39:13,153 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {32079#true} {32079#true} #72#return; {32079#true} is VALID [2022-04-15 08:39:13,153 INFO L290 TraceCheckUtils]: 32: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:39:13,153 INFO L290 TraceCheckUtils]: 31: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:39:13,153 INFO L290 TraceCheckUtils]: 30: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:39:13,153 INFO L272 TraceCheckUtils]: 29: Hoare triple {32079#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:39:13,153 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {32079#true} {32079#true} #70#return; {32079#true} is VALID [2022-04-15 08:39:13,153 INFO L290 TraceCheckUtils]: 27: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:39:13,154 INFO L290 TraceCheckUtils]: 26: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:39:13,154 INFO L290 TraceCheckUtils]: 25: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:39:13,154 INFO L272 TraceCheckUtils]: 24: Hoare triple {32079#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:39:13,154 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {32079#true} {32079#true} #68#return; {32079#true} is VALID [2022-04-15 08:39:13,154 INFO L290 TraceCheckUtils]: 22: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:39:13,154 INFO L290 TraceCheckUtils]: 21: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:39:13,154 INFO L290 TraceCheckUtils]: 20: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:39:13,154 INFO L272 TraceCheckUtils]: 19: Hoare triple {32079#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:39:13,154 INFO L290 TraceCheckUtils]: 18: Hoare triple {32079#true} assume !!(#t~post6 < 50);havoc #t~post6; {32079#true} is VALID [2022-04-15 08:39:13,154 INFO L290 TraceCheckUtils]: 17: Hoare triple {32079#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {32079#true} is VALID [2022-04-15 08:39:13,155 INFO L290 TraceCheckUtils]: 16: Hoare triple {32079#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {32079#true} is VALID [2022-04-15 08:39:13,155 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {32079#true} {32079#true} #66#return; {32079#true} is VALID [2022-04-15 08:39:13,155 INFO L290 TraceCheckUtils]: 14: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:39:13,155 INFO L290 TraceCheckUtils]: 13: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:39:13,155 INFO L290 TraceCheckUtils]: 12: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:39:13,155 INFO L272 TraceCheckUtils]: 11: Hoare triple {32079#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:39:13,155 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {32079#true} {32079#true} #64#return; {32079#true} is VALID [2022-04-15 08:39:13,155 INFO L290 TraceCheckUtils]: 9: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:39:13,155 INFO L290 TraceCheckUtils]: 8: Hoare triple {32079#true} assume !(0 == ~cond); {32079#true} is VALID [2022-04-15 08:39:13,155 INFO L290 TraceCheckUtils]: 7: Hoare triple {32079#true} ~cond := #in~cond; {32079#true} is VALID [2022-04-15 08:39:13,156 INFO L272 TraceCheckUtils]: 6: Hoare triple {32079#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {32079#true} is VALID [2022-04-15 08:39:13,156 INFO L290 TraceCheckUtils]: 5: Hoare triple {32079#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {32079#true} is VALID [2022-04-15 08:39:13,156 INFO L272 TraceCheckUtils]: 4: Hoare triple {32079#true} call #t~ret7 := main(); {32079#true} is VALID [2022-04-15 08:39:13,156 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {32079#true} {32079#true} #82#return; {32079#true} is VALID [2022-04-15 08:39:13,156 INFO L290 TraceCheckUtils]: 2: Hoare triple {32079#true} assume true; {32079#true} is VALID [2022-04-15 08:39:13,156 INFO L290 TraceCheckUtils]: 1: Hoare triple {32079#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {32079#true} is VALID [2022-04-15 08:39:13,156 INFO L272 TraceCheckUtils]: 0: Hoare triple {32079#true} call ULTIMATE.init(); {32079#true} is VALID [2022-04-15 08:39:13,157 INFO L134 CoverageAnalysis]: Checked inductivity of 282 backedges. 90 proven. 5 refuted. 0 times theorem prover too weak. 187 trivial. 0 not checked. [2022-04-15 08:39:13,157 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:39:13,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [429392449] [2022-04-15 08:39:13,157 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:39:13,157 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [48407215] [2022-04-15 08:39:13,157 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [48407215] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:39:13,157 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:39:13,157 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 14 [2022-04-15 08:39:13,157 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:39:13,158 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1592677868] [2022-04-15 08:39:13,158 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1592677868] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:39:13,158 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:39:13,158 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 08:39:13,158 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [448905765] [2022-04-15 08:39:13,158 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:39:13,158 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) Word has length 90 [2022-04-15 08:39:13,159 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:39:13,159 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-15 08:39:15,303 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 50 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 08:39:15,303 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 08:39:15,303 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:39:15,303 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 08:39:15,303 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=143, Unknown=1, NotChecked=0, Total=182 [2022-04-15 08:39:15,304 INFO L87 Difference]: Start difference. First operand 284 states and 336 transitions. Second operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-15 08:39:20,271 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 08:39:31,967 WARN L232 SmtUtils]: Spent 11.67s on a formula simplification. DAG size of input: 57 DAG size of output: 39 (called from [L 360] de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicate) [2022-04-15 08:39:40,876 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 08:39:43,258 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 08:39:45,262 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 08:39:47,044 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.78s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 08:39:49,046 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 08:39:51,051 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 08:39:53,056 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 08:39:55,061 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 08:39:57,066 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 08:40:00,382 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.82s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 08:40:08,730 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.62s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 08:40:10,966 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 08:40:24,180 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 08:40:26,185 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 08:40:28,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:40:28,811 INFO L93 Difference]: Finished difference Result 345 states and 429 transitions. [2022-04-15 08:40:28,811 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 08:40:28,811 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) Word has length 90 [2022-04-15 08:40:28,812 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:40:28,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-15 08:40:28,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 119 transitions. [2022-04-15 08:40:28,814 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-15 08:40:28,816 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 119 transitions. [2022-04-15 08:40:28,816 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 119 transitions. [2022-04-15 08:40:38,224 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 119 edges. 115 inductive. 0 not inductive. 4 times theorem prover too weak to decide inductivity. [2022-04-15 08:40:38,233 INFO L225 Difference]: With dead ends: 345 [2022-04-15 08:40:38,233 INFO L226 Difference]: Without dead ends: 331 [2022-04-15 08:40:38,234 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 182 GetRequests, 165 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 16.0s TimeCoverageRelationStatistics Valid=57, Invalid=214, Unknown=1, NotChecked=0, Total=272 [2022-04-15 08:40:38,234 INFO L913 BasicCegarLoop]: 55 mSDtfsCounter, 27 mSDsluCounter, 198 mSDsCounter, 0 mSdLazyCounter, 554 mSolverCounterSat, 17 mSolverCounterUnsat, 11 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 33.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 40 SdHoareTripleChecker+Valid, 253 SdHoareTripleChecker+Invalid, 582 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 554 IncrementalHoareTripleChecker+Invalid, 11 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 33.2s IncrementalHoareTripleChecker+Time [2022-04-15 08:40:38,234 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [40 Valid, 253 Invalid, 582 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 554 Invalid, 11 Unknown, 0 Unchecked, 33.2s Time] [2022-04-15 08:40:38,235 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 331 states. [2022-04-15 08:40:38,632 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 331 to 321. [2022-04-15 08:40:38,632 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:40:38,633 INFO L82 GeneralOperation]: Start isEquivalent. First operand 331 states. Second operand has 321 states, 204 states have (on average 1.1666666666666667) internal successors, (238), 211 states have internal predecessors, (238), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-15 08:40:38,633 INFO L74 IsIncluded]: Start isIncluded. First operand 331 states. Second operand has 321 states, 204 states have (on average 1.1666666666666667) internal successors, (238), 211 states have internal predecessors, (238), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-15 08:40:38,634 INFO L87 Difference]: Start difference. First operand 331 states. Second operand has 321 states, 204 states have (on average 1.1666666666666667) internal successors, (238), 211 states have internal predecessors, (238), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-15 08:40:38,642 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:40:38,643 INFO L93 Difference]: Finished difference Result 331 states and 407 transitions. [2022-04-15 08:40:38,643 INFO L276 IsEmpty]: Start isEmpty. Operand 331 states and 407 transitions. [2022-04-15 08:40:38,644 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:40:38,644 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:40:38,644 INFO L74 IsIncluded]: Start isIncluded. First operand has 321 states, 204 states have (on average 1.1666666666666667) internal successors, (238), 211 states have internal predecessors, (238), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) Second operand 331 states. [2022-04-15 08:40:38,645 INFO L87 Difference]: Start difference. First operand has 321 states, 204 states have (on average 1.1666666666666667) internal successors, (238), 211 states have internal predecessors, (238), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) Second operand 331 states. [2022-04-15 08:40:38,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:40:38,652 INFO L93 Difference]: Finished difference Result 331 states and 407 transitions. [2022-04-15 08:40:38,652 INFO L276 IsEmpty]: Start isEmpty. Operand 331 states and 407 transitions. [2022-04-15 08:40:38,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:40:38,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:40:38,653 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:40:38,653 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:40:38,654 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 321 states, 204 states have (on average 1.1666666666666667) internal successors, (238), 211 states have internal predecessors, (238), 78 states have call successors, (78), 39 states have call predecessors, (78), 38 states have return successors, (74), 70 states have call predecessors, (74), 74 states have call successors, (74) [2022-04-15 08:40:38,662 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 321 states to 321 states and 390 transitions. [2022-04-15 08:40:38,662 INFO L78 Accepts]: Start accepts. Automaton has 321 states and 390 transitions. Word has length 90 [2022-04-15 08:40:38,663 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:40:38,663 INFO L478 AbstractCegarLoop]: Abstraction has 321 states and 390 transitions. [2022-04-15 08:40:38,663 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.7) internal successors, (27), 9 states have internal predecessors, (27), 5 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 6 states have call predecessors, (11), 4 states have call successors, (11) [2022-04-15 08:40:38,663 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 321 states and 390 transitions. [2022-04-15 08:40:46,113 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 390 edges. 390 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:40:46,113 INFO L276 IsEmpty]: Start isEmpty. Operand 321 states and 390 transitions. [2022-04-15 08:40:46,114 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-15 08:40:46,114 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:40:46,115 INFO L499 BasicCegarLoop]: trace histogram [13, 12, 12, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:40:46,133 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Ended with exit code 0 [2022-04-15 08:40:46,323 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:40:46,323 INFO L403 AbstractCegarLoop]: === Iteration 26 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:40:46,324 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:40:46,324 INFO L85 PathProgramCache]: Analyzing trace with hash -1449122399, now seen corresponding path program 7 times [2022-04-15 08:40:46,324 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:40:46,324 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [280188565] [2022-04-15 08:40:46,324 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:40:46,324 INFO L85 PathProgramCache]: Analyzing trace with hash -1449122399, now seen corresponding path program 8 times [2022-04-15 08:40:46,325 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:40:46,325 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [286296498] [2022-04-15 08:40:46,325 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:40:46,325 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:40:46,334 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:40:46,334 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1790618983] [2022-04-15 08:40:46,334 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 08:40:46,334 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:40:46,334 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:40:46,335 INFO L229 MonitoredProcess]: Starting monitored process 25 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:40:46,338 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Waiting until timeout for monitored process [2022-04-15 08:40:46,388 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 08:40:46,388 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:40:46,389 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 13 conjunts are in the unsatisfiable core [2022-04-15 08:40:46,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:40:46,406 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:40:46,778 INFO L272 TraceCheckUtils]: 0: Hoare triple {34632#true} call ULTIMATE.init(); {34632#true} is VALID [2022-04-15 08:40:46,778 INFO L290 TraceCheckUtils]: 1: Hoare triple {34632#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,779 INFO L290 TraceCheckUtils]: 2: Hoare triple {34640#(<= ~counter~0 0)} assume true; {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,779 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34640#(<= ~counter~0 0)} {34632#true} #82#return; {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,780 INFO L272 TraceCheckUtils]: 4: Hoare triple {34640#(<= ~counter~0 0)} call #t~ret7 := main(); {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,780 INFO L290 TraceCheckUtils]: 5: Hoare triple {34640#(<= ~counter~0 0)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,780 INFO L272 TraceCheckUtils]: 6: Hoare triple {34640#(<= ~counter~0 0)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,781 INFO L290 TraceCheckUtils]: 7: Hoare triple {34640#(<= ~counter~0 0)} ~cond := #in~cond; {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,781 INFO L290 TraceCheckUtils]: 8: Hoare triple {34640#(<= ~counter~0 0)} assume !(0 == ~cond); {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,781 INFO L290 TraceCheckUtils]: 9: Hoare triple {34640#(<= ~counter~0 0)} assume true; {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,782 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34640#(<= ~counter~0 0)} {34640#(<= ~counter~0 0)} #64#return; {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,782 INFO L272 TraceCheckUtils]: 11: Hoare triple {34640#(<= ~counter~0 0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,783 INFO L290 TraceCheckUtils]: 12: Hoare triple {34640#(<= ~counter~0 0)} ~cond := #in~cond; {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,783 INFO L290 TraceCheckUtils]: 13: Hoare triple {34640#(<= ~counter~0 0)} assume !(0 == ~cond); {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,783 INFO L290 TraceCheckUtils]: 14: Hoare triple {34640#(<= ~counter~0 0)} assume true; {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,784 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34640#(<= ~counter~0 0)} {34640#(<= ~counter~0 0)} #66#return; {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,784 INFO L290 TraceCheckUtils]: 16: Hoare triple {34640#(<= ~counter~0 0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {34640#(<= ~counter~0 0)} is VALID [2022-04-15 08:40:46,785 INFO L290 TraceCheckUtils]: 17: Hoare triple {34640#(<= ~counter~0 0)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,786 INFO L290 TraceCheckUtils]: 18: Hoare triple {34689#(<= ~counter~0 1)} assume !!(#t~post6 < 50);havoc #t~post6; {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,786 INFO L272 TraceCheckUtils]: 19: Hoare triple {34689#(<= ~counter~0 1)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,787 INFO L290 TraceCheckUtils]: 20: Hoare triple {34689#(<= ~counter~0 1)} ~cond := #in~cond; {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,787 INFO L290 TraceCheckUtils]: 21: Hoare triple {34689#(<= ~counter~0 1)} assume !(0 == ~cond); {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,788 INFO L290 TraceCheckUtils]: 22: Hoare triple {34689#(<= ~counter~0 1)} assume true; {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,788 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {34689#(<= ~counter~0 1)} {34689#(<= ~counter~0 1)} #68#return; {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,789 INFO L272 TraceCheckUtils]: 24: Hoare triple {34689#(<= ~counter~0 1)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,789 INFO L290 TraceCheckUtils]: 25: Hoare triple {34689#(<= ~counter~0 1)} ~cond := #in~cond; {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,790 INFO L290 TraceCheckUtils]: 26: Hoare triple {34689#(<= ~counter~0 1)} assume !(0 == ~cond); {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,790 INFO L290 TraceCheckUtils]: 27: Hoare triple {34689#(<= ~counter~0 1)} assume true; {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,791 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {34689#(<= ~counter~0 1)} {34689#(<= ~counter~0 1)} #70#return; {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,791 INFO L272 TraceCheckUtils]: 29: Hoare triple {34689#(<= ~counter~0 1)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,792 INFO L290 TraceCheckUtils]: 30: Hoare triple {34689#(<= ~counter~0 1)} ~cond := #in~cond; {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,792 INFO L290 TraceCheckUtils]: 31: Hoare triple {34689#(<= ~counter~0 1)} assume !(0 == ~cond); {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,792 INFO L290 TraceCheckUtils]: 32: Hoare triple {34689#(<= ~counter~0 1)} assume true; {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,793 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {34689#(<= ~counter~0 1)} {34689#(<= ~counter~0 1)} #72#return; {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,793 INFO L290 TraceCheckUtils]: 34: Hoare triple {34689#(<= ~counter~0 1)} assume !!(~a~0 != ~b~0); {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,793 INFO L290 TraceCheckUtils]: 35: Hoare triple {34689#(<= ~counter~0 1)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34689#(<= ~counter~0 1)} is VALID [2022-04-15 08:40:46,794 INFO L290 TraceCheckUtils]: 36: Hoare triple {34689#(<= ~counter~0 1)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,794 INFO L290 TraceCheckUtils]: 37: Hoare triple {34747#(<= ~counter~0 2)} assume !!(#t~post6 < 50);havoc #t~post6; {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,795 INFO L272 TraceCheckUtils]: 38: Hoare triple {34747#(<= ~counter~0 2)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,795 INFO L290 TraceCheckUtils]: 39: Hoare triple {34747#(<= ~counter~0 2)} ~cond := #in~cond; {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,795 INFO L290 TraceCheckUtils]: 40: Hoare triple {34747#(<= ~counter~0 2)} assume !(0 == ~cond); {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,795 INFO L290 TraceCheckUtils]: 41: Hoare triple {34747#(<= ~counter~0 2)} assume true; {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,796 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {34747#(<= ~counter~0 2)} {34747#(<= ~counter~0 2)} #68#return; {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,796 INFO L272 TraceCheckUtils]: 43: Hoare triple {34747#(<= ~counter~0 2)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,797 INFO L290 TraceCheckUtils]: 44: Hoare triple {34747#(<= ~counter~0 2)} ~cond := #in~cond; {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,797 INFO L290 TraceCheckUtils]: 45: Hoare triple {34747#(<= ~counter~0 2)} assume !(0 == ~cond); {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,797 INFO L290 TraceCheckUtils]: 46: Hoare triple {34747#(<= ~counter~0 2)} assume true; {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,798 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {34747#(<= ~counter~0 2)} {34747#(<= ~counter~0 2)} #70#return; {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,798 INFO L272 TraceCheckUtils]: 48: Hoare triple {34747#(<= ~counter~0 2)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,799 INFO L290 TraceCheckUtils]: 49: Hoare triple {34747#(<= ~counter~0 2)} ~cond := #in~cond; {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,799 INFO L290 TraceCheckUtils]: 50: Hoare triple {34747#(<= ~counter~0 2)} assume !(0 == ~cond); {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,799 INFO L290 TraceCheckUtils]: 51: Hoare triple {34747#(<= ~counter~0 2)} assume true; {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,800 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {34747#(<= ~counter~0 2)} {34747#(<= ~counter~0 2)} #72#return; {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,800 INFO L290 TraceCheckUtils]: 53: Hoare triple {34747#(<= ~counter~0 2)} assume !!(~a~0 != ~b~0); {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,800 INFO L290 TraceCheckUtils]: 54: Hoare triple {34747#(<= ~counter~0 2)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34747#(<= ~counter~0 2)} is VALID [2022-04-15 08:40:46,801 INFO L290 TraceCheckUtils]: 55: Hoare triple {34747#(<= ~counter~0 2)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,801 INFO L290 TraceCheckUtils]: 56: Hoare triple {34805#(<= ~counter~0 3)} assume !!(#t~post6 < 50);havoc #t~post6; {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,802 INFO L272 TraceCheckUtils]: 57: Hoare triple {34805#(<= ~counter~0 3)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,802 INFO L290 TraceCheckUtils]: 58: Hoare triple {34805#(<= ~counter~0 3)} ~cond := #in~cond; {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,802 INFO L290 TraceCheckUtils]: 59: Hoare triple {34805#(<= ~counter~0 3)} assume !(0 == ~cond); {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,802 INFO L290 TraceCheckUtils]: 60: Hoare triple {34805#(<= ~counter~0 3)} assume true; {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,803 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {34805#(<= ~counter~0 3)} {34805#(<= ~counter~0 3)} #68#return; {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,803 INFO L272 TraceCheckUtils]: 62: Hoare triple {34805#(<= ~counter~0 3)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,804 INFO L290 TraceCheckUtils]: 63: Hoare triple {34805#(<= ~counter~0 3)} ~cond := #in~cond; {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,804 INFO L290 TraceCheckUtils]: 64: Hoare triple {34805#(<= ~counter~0 3)} assume !(0 == ~cond); {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,804 INFO L290 TraceCheckUtils]: 65: Hoare triple {34805#(<= ~counter~0 3)} assume true; {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,805 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {34805#(<= ~counter~0 3)} {34805#(<= ~counter~0 3)} #70#return; {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,805 INFO L272 TraceCheckUtils]: 67: Hoare triple {34805#(<= ~counter~0 3)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,806 INFO L290 TraceCheckUtils]: 68: Hoare triple {34805#(<= ~counter~0 3)} ~cond := #in~cond; {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,806 INFO L290 TraceCheckUtils]: 69: Hoare triple {34805#(<= ~counter~0 3)} assume !(0 == ~cond); {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,806 INFO L290 TraceCheckUtils]: 70: Hoare triple {34805#(<= ~counter~0 3)} assume true; {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,807 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {34805#(<= ~counter~0 3)} {34805#(<= ~counter~0 3)} #72#return; {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,807 INFO L290 TraceCheckUtils]: 72: Hoare triple {34805#(<= ~counter~0 3)} assume !!(~a~0 != ~b~0); {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,807 INFO L290 TraceCheckUtils]: 73: Hoare triple {34805#(<= ~counter~0 3)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34805#(<= ~counter~0 3)} is VALID [2022-04-15 08:40:46,808 INFO L290 TraceCheckUtils]: 74: Hoare triple {34805#(<= ~counter~0 3)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,808 INFO L290 TraceCheckUtils]: 75: Hoare triple {34863#(<= ~counter~0 4)} assume !!(#t~post6 < 50);havoc #t~post6; {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,809 INFO L272 TraceCheckUtils]: 76: Hoare triple {34863#(<= ~counter~0 4)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,809 INFO L290 TraceCheckUtils]: 77: Hoare triple {34863#(<= ~counter~0 4)} ~cond := #in~cond; {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,809 INFO L290 TraceCheckUtils]: 78: Hoare triple {34863#(<= ~counter~0 4)} assume !(0 == ~cond); {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,809 INFO L290 TraceCheckUtils]: 79: Hoare triple {34863#(<= ~counter~0 4)} assume true; {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,810 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {34863#(<= ~counter~0 4)} {34863#(<= ~counter~0 4)} #68#return; {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,810 INFO L272 TraceCheckUtils]: 81: Hoare triple {34863#(<= ~counter~0 4)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,811 INFO L290 TraceCheckUtils]: 82: Hoare triple {34863#(<= ~counter~0 4)} ~cond := #in~cond; {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,811 INFO L290 TraceCheckUtils]: 83: Hoare triple {34863#(<= ~counter~0 4)} assume !(0 == ~cond); {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,811 INFO L290 TraceCheckUtils]: 84: Hoare triple {34863#(<= ~counter~0 4)} assume true; {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,812 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {34863#(<= ~counter~0 4)} {34863#(<= ~counter~0 4)} #70#return; {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,812 INFO L272 TraceCheckUtils]: 86: Hoare triple {34863#(<= ~counter~0 4)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,813 INFO L290 TraceCheckUtils]: 87: Hoare triple {34863#(<= ~counter~0 4)} ~cond := #in~cond; {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,813 INFO L290 TraceCheckUtils]: 88: Hoare triple {34863#(<= ~counter~0 4)} assume !(0 == ~cond); {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,813 INFO L290 TraceCheckUtils]: 89: Hoare triple {34863#(<= ~counter~0 4)} assume true; {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,814 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {34863#(<= ~counter~0 4)} {34863#(<= ~counter~0 4)} #72#return; {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,814 INFO L290 TraceCheckUtils]: 91: Hoare triple {34863#(<= ~counter~0 4)} assume !!(~a~0 != ~b~0); {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,814 INFO L290 TraceCheckUtils]: 92: Hoare triple {34863#(<= ~counter~0 4)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34863#(<= ~counter~0 4)} is VALID [2022-04-15 08:40:46,815 INFO L290 TraceCheckUtils]: 93: Hoare triple {34863#(<= ~counter~0 4)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34921#(<= |main_#t~post6| 4)} is VALID [2022-04-15 08:40:46,815 INFO L290 TraceCheckUtils]: 94: Hoare triple {34921#(<= |main_#t~post6| 4)} assume !(#t~post6 < 50);havoc #t~post6; {34633#false} is VALID [2022-04-15 08:40:46,815 INFO L272 TraceCheckUtils]: 95: Hoare triple {34633#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {34633#false} is VALID [2022-04-15 08:40:46,815 INFO L290 TraceCheckUtils]: 96: Hoare triple {34633#false} ~cond := #in~cond; {34633#false} is VALID [2022-04-15 08:40:46,815 INFO L290 TraceCheckUtils]: 97: Hoare triple {34633#false} assume 0 == ~cond; {34633#false} is VALID [2022-04-15 08:40:46,815 INFO L290 TraceCheckUtils]: 98: Hoare triple {34633#false} assume !false; {34633#false} is VALID [2022-04-15 08:40:46,815 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 24 proven. 266 refuted. 0 times theorem prover too weak. 52 trivial. 0 not checked. [2022-04-15 08:40:46,816 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:40:47,196 INFO L290 TraceCheckUtils]: 98: Hoare triple {34633#false} assume !false; {34633#false} is VALID [2022-04-15 08:40:47,197 INFO L290 TraceCheckUtils]: 97: Hoare triple {34633#false} assume 0 == ~cond; {34633#false} is VALID [2022-04-15 08:40:47,197 INFO L290 TraceCheckUtils]: 96: Hoare triple {34633#false} ~cond := #in~cond; {34633#false} is VALID [2022-04-15 08:40:47,197 INFO L272 TraceCheckUtils]: 95: Hoare triple {34633#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {34633#false} is VALID [2022-04-15 08:40:47,197 INFO L290 TraceCheckUtils]: 94: Hoare triple {34949#(< |main_#t~post6| 50)} assume !(#t~post6 < 50);havoc #t~post6; {34633#false} is VALID [2022-04-15 08:40:47,197 INFO L290 TraceCheckUtils]: 93: Hoare triple {34953#(< ~counter~0 50)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34949#(< |main_#t~post6| 50)} is VALID [2022-04-15 08:40:47,198 INFO L290 TraceCheckUtils]: 92: Hoare triple {34953#(< ~counter~0 50)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {34953#(< ~counter~0 50)} is VALID [2022-04-15 08:40:47,198 INFO L290 TraceCheckUtils]: 91: Hoare triple {34953#(< ~counter~0 50)} assume !!(~a~0 != ~b~0); {34953#(< ~counter~0 50)} is VALID [2022-04-15 08:40:47,198 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {34632#true} {34953#(< ~counter~0 50)} #72#return; {34953#(< ~counter~0 50)} is VALID [2022-04-15 08:40:47,199 INFO L290 TraceCheckUtils]: 89: Hoare triple {34632#true} assume true; {34632#true} is VALID [2022-04-15 08:40:47,199 INFO L290 TraceCheckUtils]: 88: Hoare triple {34632#true} assume !(0 == ~cond); {34632#true} is VALID [2022-04-15 08:40:47,199 INFO L290 TraceCheckUtils]: 87: Hoare triple {34632#true} ~cond := #in~cond; {34632#true} is VALID [2022-04-15 08:40:47,199 INFO L272 TraceCheckUtils]: 86: Hoare triple {34953#(< ~counter~0 50)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34632#true} is VALID [2022-04-15 08:40:47,199 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {34632#true} {34953#(< ~counter~0 50)} #70#return; {34953#(< ~counter~0 50)} is VALID [2022-04-15 08:40:47,199 INFO L290 TraceCheckUtils]: 84: Hoare triple {34632#true} assume true; {34632#true} is VALID [2022-04-15 08:40:47,200 INFO L290 TraceCheckUtils]: 83: Hoare triple {34632#true} assume !(0 == ~cond); {34632#true} is VALID [2022-04-15 08:40:47,200 INFO L290 TraceCheckUtils]: 82: Hoare triple {34632#true} ~cond := #in~cond; {34632#true} is VALID [2022-04-15 08:40:47,200 INFO L272 TraceCheckUtils]: 81: Hoare triple {34953#(< ~counter~0 50)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34632#true} is VALID [2022-04-15 08:40:47,200 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {34632#true} {34953#(< ~counter~0 50)} #68#return; {34953#(< ~counter~0 50)} is VALID [2022-04-15 08:40:47,200 INFO L290 TraceCheckUtils]: 79: Hoare triple {34632#true} assume true; {34632#true} is VALID [2022-04-15 08:40:47,200 INFO L290 TraceCheckUtils]: 78: Hoare triple {34632#true} assume !(0 == ~cond); {34632#true} is VALID [2022-04-15 08:40:47,200 INFO L290 TraceCheckUtils]: 77: Hoare triple {34632#true} ~cond := #in~cond; {34632#true} is VALID [2022-04-15 08:40:47,200 INFO L272 TraceCheckUtils]: 76: Hoare triple {34953#(< ~counter~0 50)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34632#true} is VALID [2022-04-15 08:40:47,201 INFO L290 TraceCheckUtils]: 75: Hoare triple {34953#(< ~counter~0 50)} assume !!(#t~post6 < 50);havoc #t~post6; {34953#(< ~counter~0 50)} is VALID [2022-04-15 08:40:47,202 INFO L290 TraceCheckUtils]: 74: Hoare triple {35011#(< ~counter~0 49)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {34953#(< ~counter~0 50)} is VALID [2022-04-15 08:40:47,202 INFO L290 TraceCheckUtils]: 73: Hoare triple {35011#(< ~counter~0 49)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {35011#(< ~counter~0 49)} is VALID [2022-04-15 08:40:47,202 INFO L290 TraceCheckUtils]: 72: Hoare triple {35011#(< ~counter~0 49)} assume !!(~a~0 != ~b~0); {35011#(< ~counter~0 49)} is VALID [2022-04-15 08:40:47,203 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {34632#true} {35011#(< ~counter~0 49)} #72#return; {35011#(< ~counter~0 49)} is VALID [2022-04-15 08:40:47,203 INFO L290 TraceCheckUtils]: 70: Hoare triple {34632#true} assume true; {34632#true} is VALID [2022-04-15 08:40:47,203 INFO L290 TraceCheckUtils]: 69: Hoare triple {34632#true} assume !(0 == ~cond); {34632#true} is VALID [2022-04-15 08:40:47,203 INFO L290 TraceCheckUtils]: 68: Hoare triple {34632#true} ~cond := #in~cond; {34632#true} is VALID [2022-04-15 08:40:47,203 INFO L272 TraceCheckUtils]: 67: Hoare triple {35011#(< ~counter~0 49)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34632#true} is VALID [2022-04-15 08:40:47,204 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {34632#true} {35011#(< ~counter~0 49)} #70#return; {35011#(< ~counter~0 49)} is VALID [2022-04-15 08:40:47,204 INFO L290 TraceCheckUtils]: 65: Hoare triple {34632#true} assume true; {34632#true} is VALID [2022-04-15 08:40:47,204 INFO L290 TraceCheckUtils]: 64: Hoare triple {34632#true} assume !(0 == ~cond); {34632#true} is VALID [2022-04-15 08:40:47,204 INFO L290 TraceCheckUtils]: 63: Hoare triple {34632#true} ~cond := #in~cond; {34632#true} is VALID [2022-04-15 08:40:47,204 INFO L272 TraceCheckUtils]: 62: Hoare triple {35011#(< ~counter~0 49)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34632#true} is VALID [2022-04-15 08:40:47,204 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {34632#true} {35011#(< ~counter~0 49)} #68#return; {35011#(< ~counter~0 49)} is VALID [2022-04-15 08:40:47,204 INFO L290 TraceCheckUtils]: 60: Hoare triple {34632#true} assume true; {34632#true} is VALID [2022-04-15 08:40:47,204 INFO L290 TraceCheckUtils]: 59: Hoare triple {34632#true} assume !(0 == ~cond); {34632#true} is VALID [2022-04-15 08:40:47,205 INFO L290 TraceCheckUtils]: 58: Hoare triple {34632#true} ~cond := #in~cond; {34632#true} is VALID [2022-04-15 08:40:47,205 INFO L272 TraceCheckUtils]: 57: Hoare triple {35011#(< ~counter~0 49)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34632#true} is VALID [2022-04-15 08:40:47,205 INFO L290 TraceCheckUtils]: 56: Hoare triple {35011#(< ~counter~0 49)} assume !!(#t~post6 < 50);havoc #t~post6; {35011#(< ~counter~0 49)} is VALID [2022-04-15 08:40:47,207 INFO L290 TraceCheckUtils]: 55: Hoare triple {35069#(< ~counter~0 48)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35011#(< ~counter~0 49)} is VALID [2022-04-15 08:40:47,208 INFO L290 TraceCheckUtils]: 54: Hoare triple {35069#(< ~counter~0 48)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {35069#(< ~counter~0 48)} is VALID [2022-04-15 08:40:47,208 INFO L290 TraceCheckUtils]: 53: Hoare triple {35069#(< ~counter~0 48)} assume !!(~a~0 != ~b~0); {35069#(< ~counter~0 48)} is VALID [2022-04-15 08:40:47,209 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {34632#true} {35069#(< ~counter~0 48)} #72#return; {35069#(< ~counter~0 48)} is VALID [2022-04-15 08:40:47,209 INFO L290 TraceCheckUtils]: 51: Hoare triple {34632#true} assume true; {34632#true} is VALID [2022-04-15 08:40:47,209 INFO L290 TraceCheckUtils]: 50: Hoare triple {34632#true} assume !(0 == ~cond); {34632#true} is VALID [2022-04-15 08:40:47,209 INFO L290 TraceCheckUtils]: 49: Hoare triple {34632#true} ~cond := #in~cond; {34632#true} is VALID [2022-04-15 08:40:47,209 INFO L272 TraceCheckUtils]: 48: Hoare triple {35069#(< ~counter~0 48)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34632#true} is VALID [2022-04-15 08:40:47,210 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {34632#true} {35069#(< ~counter~0 48)} #70#return; {35069#(< ~counter~0 48)} is VALID [2022-04-15 08:40:47,210 INFO L290 TraceCheckUtils]: 46: Hoare triple {34632#true} assume true; {34632#true} is VALID [2022-04-15 08:40:47,210 INFO L290 TraceCheckUtils]: 45: Hoare triple {34632#true} assume !(0 == ~cond); {34632#true} is VALID [2022-04-15 08:40:47,210 INFO L290 TraceCheckUtils]: 44: Hoare triple {34632#true} ~cond := #in~cond; {34632#true} is VALID [2022-04-15 08:40:47,210 INFO L272 TraceCheckUtils]: 43: Hoare triple {35069#(< ~counter~0 48)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34632#true} is VALID [2022-04-15 08:40:47,211 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {34632#true} {35069#(< ~counter~0 48)} #68#return; {35069#(< ~counter~0 48)} is VALID [2022-04-15 08:40:47,211 INFO L290 TraceCheckUtils]: 41: Hoare triple {34632#true} assume true; {34632#true} is VALID [2022-04-15 08:40:47,211 INFO L290 TraceCheckUtils]: 40: Hoare triple {34632#true} assume !(0 == ~cond); {34632#true} is VALID [2022-04-15 08:40:47,211 INFO L290 TraceCheckUtils]: 39: Hoare triple {34632#true} ~cond := #in~cond; {34632#true} is VALID [2022-04-15 08:40:47,211 INFO L272 TraceCheckUtils]: 38: Hoare triple {35069#(< ~counter~0 48)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34632#true} is VALID [2022-04-15 08:40:47,212 INFO L290 TraceCheckUtils]: 37: Hoare triple {35069#(< ~counter~0 48)} assume !!(#t~post6 < 50);havoc #t~post6; {35069#(< ~counter~0 48)} is VALID [2022-04-15 08:40:47,212 INFO L290 TraceCheckUtils]: 36: Hoare triple {35127#(< ~counter~0 47)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35069#(< ~counter~0 48)} is VALID [2022-04-15 08:40:47,213 INFO L290 TraceCheckUtils]: 35: Hoare triple {35127#(< ~counter~0 47)} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {35127#(< ~counter~0 47)} is VALID [2022-04-15 08:40:47,213 INFO L290 TraceCheckUtils]: 34: Hoare triple {35127#(< ~counter~0 47)} assume !!(~a~0 != ~b~0); {35127#(< ~counter~0 47)} is VALID [2022-04-15 08:40:47,214 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {34632#true} {35127#(< ~counter~0 47)} #72#return; {35127#(< ~counter~0 47)} is VALID [2022-04-15 08:40:47,214 INFO L290 TraceCheckUtils]: 32: Hoare triple {34632#true} assume true; {34632#true} is VALID [2022-04-15 08:40:47,214 INFO L290 TraceCheckUtils]: 31: Hoare triple {34632#true} assume !(0 == ~cond); {34632#true} is VALID [2022-04-15 08:40:47,214 INFO L290 TraceCheckUtils]: 30: Hoare triple {34632#true} ~cond := #in~cond; {34632#true} is VALID [2022-04-15 08:40:47,214 INFO L272 TraceCheckUtils]: 29: Hoare triple {35127#(< ~counter~0 47)} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34632#true} is VALID [2022-04-15 08:40:47,214 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {34632#true} {35127#(< ~counter~0 47)} #70#return; {35127#(< ~counter~0 47)} is VALID [2022-04-15 08:40:47,214 INFO L290 TraceCheckUtils]: 27: Hoare triple {34632#true} assume true; {34632#true} is VALID [2022-04-15 08:40:47,215 INFO L290 TraceCheckUtils]: 26: Hoare triple {34632#true} assume !(0 == ~cond); {34632#true} is VALID [2022-04-15 08:40:47,215 INFO L290 TraceCheckUtils]: 25: Hoare triple {34632#true} ~cond := #in~cond; {34632#true} is VALID [2022-04-15 08:40:47,215 INFO L272 TraceCheckUtils]: 24: Hoare triple {35127#(< ~counter~0 47)} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34632#true} is VALID [2022-04-15 08:40:47,215 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {34632#true} {35127#(< ~counter~0 47)} #68#return; {35127#(< ~counter~0 47)} is VALID [2022-04-15 08:40:47,215 INFO L290 TraceCheckUtils]: 22: Hoare triple {34632#true} assume true; {34632#true} is VALID [2022-04-15 08:40:47,215 INFO L290 TraceCheckUtils]: 21: Hoare triple {34632#true} assume !(0 == ~cond); {34632#true} is VALID [2022-04-15 08:40:47,215 INFO L290 TraceCheckUtils]: 20: Hoare triple {34632#true} ~cond := #in~cond; {34632#true} is VALID [2022-04-15 08:40:47,215 INFO L272 TraceCheckUtils]: 19: Hoare triple {35127#(< ~counter~0 47)} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34632#true} is VALID [2022-04-15 08:40:47,216 INFO L290 TraceCheckUtils]: 18: Hoare triple {35127#(< ~counter~0 47)} assume !!(#t~post6 < 50);havoc #t~post6; {35127#(< ~counter~0 47)} is VALID [2022-04-15 08:40:47,216 INFO L290 TraceCheckUtils]: 17: Hoare triple {35185#(< ~counter~0 46)} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {35127#(< ~counter~0 47)} is VALID [2022-04-15 08:40:47,217 INFO L290 TraceCheckUtils]: 16: Hoare triple {35185#(< ~counter~0 46)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {35185#(< ~counter~0 46)} is VALID [2022-04-15 08:40:47,217 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34632#true} {35185#(< ~counter~0 46)} #66#return; {35185#(< ~counter~0 46)} is VALID [2022-04-15 08:40:47,217 INFO L290 TraceCheckUtils]: 14: Hoare triple {34632#true} assume true; {34632#true} is VALID [2022-04-15 08:40:47,217 INFO L290 TraceCheckUtils]: 13: Hoare triple {34632#true} assume !(0 == ~cond); {34632#true} is VALID [2022-04-15 08:40:47,217 INFO L290 TraceCheckUtils]: 12: Hoare triple {34632#true} ~cond := #in~cond; {34632#true} is VALID [2022-04-15 08:40:47,217 INFO L272 TraceCheckUtils]: 11: Hoare triple {35185#(< ~counter~0 46)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {34632#true} is VALID [2022-04-15 08:40:47,218 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34632#true} {35185#(< ~counter~0 46)} #64#return; {35185#(< ~counter~0 46)} is VALID [2022-04-15 08:40:47,218 INFO L290 TraceCheckUtils]: 9: Hoare triple {34632#true} assume true; {34632#true} is VALID [2022-04-15 08:40:47,218 INFO L290 TraceCheckUtils]: 8: Hoare triple {34632#true} assume !(0 == ~cond); {34632#true} is VALID [2022-04-15 08:40:47,218 INFO L290 TraceCheckUtils]: 7: Hoare triple {34632#true} ~cond := #in~cond; {34632#true} is VALID [2022-04-15 08:40:47,218 INFO L272 TraceCheckUtils]: 6: Hoare triple {35185#(< ~counter~0 46)} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {34632#true} is VALID [2022-04-15 08:40:47,218 INFO L290 TraceCheckUtils]: 5: Hoare triple {35185#(< ~counter~0 46)} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {35185#(< ~counter~0 46)} is VALID [2022-04-15 08:40:47,219 INFO L272 TraceCheckUtils]: 4: Hoare triple {35185#(< ~counter~0 46)} call #t~ret7 := main(); {35185#(< ~counter~0 46)} is VALID [2022-04-15 08:40:47,219 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {35185#(< ~counter~0 46)} {34632#true} #82#return; {35185#(< ~counter~0 46)} is VALID [2022-04-15 08:40:47,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {35185#(< ~counter~0 46)} assume true; {35185#(< ~counter~0 46)} is VALID [2022-04-15 08:40:47,220 INFO L290 TraceCheckUtils]: 1: Hoare triple {34632#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {35185#(< ~counter~0 46)} is VALID [2022-04-15 08:40:47,220 INFO L272 TraceCheckUtils]: 0: Hoare triple {34632#true} call ULTIMATE.init(); {34632#true} is VALID [2022-04-15 08:40:47,220 INFO L134 CoverageAnalysis]: Checked inductivity of 342 backedges. 24 proven. 50 refuted. 0 times theorem prover too weak. 268 trivial. 0 not checked. [2022-04-15 08:40:47,220 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:40:47,220 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [286296498] [2022-04-15 08:40:47,220 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:40:47,220 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1790618983] [2022-04-15 08:40:47,220 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1790618983] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:40:47,220 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:40:47,221 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 14 [2022-04-15 08:40:47,221 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:40:47,221 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [280188565] [2022-04-15 08:40:47,221 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [280188565] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:40:47,221 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:40:47,221 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 08:40:47,221 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1703341301] [2022-04-15 08:40:47,221 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:40:47,221 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) Word has length 99 [2022-04-15 08:40:47,222 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:40:47,222 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-15 08:40:47,283 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:40:47,283 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 08:40:47,283 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:40:47,284 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 08:40:47,284 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2022-04-15 08:40:47,284 INFO L87 Difference]: Start difference. First operand 321 states and 390 transitions. Second operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-15 08:40:48,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:40:48,054 INFO L93 Difference]: Finished difference Result 432 states and 510 transitions. [2022-04-15 08:40:48,054 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 08:40:48,054 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) Word has length 99 [2022-04-15 08:40:48,054 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 08:40:48,054 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-15 08:40:48,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 120 transitions. [2022-04-15 08:40:48,056 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-15 08:40:48,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 120 transitions. [2022-04-15 08:40:48,057 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 120 transitions. [2022-04-15 08:40:48,178 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 08:40:48,188 INFO L225 Difference]: With dead ends: 432 [2022-04-15 08:40:48,188 INFO L226 Difference]: Without dead ends: 407 [2022-04-15 08:40:48,188 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 201 GetRequests, 185 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=123, Invalid=183, Unknown=0, NotChecked=0, Total=306 [2022-04-15 08:40:48,189 INFO L913 BasicCegarLoop]: 54 mSDtfsCounter, 27 mSDsluCounter, 127 mSDsCounter, 0 mSdLazyCounter, 56 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 70 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 56 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-15 08:40:48,189 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [27 Valid, 181 Invalid, 70 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 56 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-15 08:40:48,189 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 407 states. [2022-04-15 08:40:48,651 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 407 to 390. [2022-04-15 08:40:48,651 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 08:40:48,652 INFO L82 GeneralOperation]: Start isEquivalent. First operand 407 states. Second operand has 390 states, 254 states have (on average 1.1338582677165354) internal successors, (288), 262 states have internal predecessors, (288), 85 states have call successors, (85), 52 states have call predecessors, (85), 50 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-15 08:40:48,652 INFO L74 IsIncluded]: Start isIncluded. First operand 407 states. Second operand has 390 states, 254 states have (on average 1.1338582677165354) internal successors, (288), 262 states have internal predecessors, (288), 85 states have call successors, (85), 52 states have call predecessors, (85), 50 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-15 08:40:48,652 INFO L87 Difference]: Start difference. First operand 407 states. Second operand has 390 states, 254 states have (on average 1.1338582677165354) internal successors, (288), 262 states have internal predecessors, (288), 85 states have call successors, (85), 52 states have call predecessors, (85), 50 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-15 08:40:48,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:40:48,662 INFO L93 Difference]: Finished difference Result 407 states and 474 transitions. [2022-04-15 08:40:48,662 INFO L276 IsEmpty]: Start isEmpty. Operand 407 states and 474 transitions. [2022-04-15 08:40:48,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:40:48,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:40:48,663 INFO L74 IsIncluded]: Start isIncluded. First operand has 390 states, 254 states have (on average 1.1338582677165354) internal successors, (288), 262 states have internal predecessors, (288), 85 states have call successors, (85), 52 states have call predecessors, (85), 50 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) Second operand 407 states. [2022-04-15 08:40:48,664 INFO L87 Difference]: Start difference. First operand has 390 states, 254 states have (on average 1.1338582677165354) internal successors, (288), 262 states have internal predecessors, (288), 85 states have call successors, (85), 52 states have call predecessors, (85), 50 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) Second operand 407 states. [2022-04-15 08:40:48,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 08:40:48,673 INFO L93 Difference]: Finished difference Result 407 states and 474 transitions. [2022-04-15 08:40:48,674 INFO L276 IsEmpty]: Start isEmpty. Operand 407 states and 474 transitions. [2022-04-15 08:40:48,674 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 08:40:48,674 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 08:40:48,675 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 08:40:48,675 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 08:40:48,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 390 states, 254 states have (on average 1.1338582677165354) internal successors, (288), 262 states have internal predecessors, (288), 85 states have call successors, (85), 52 states have call predecessors, (85), 50 states have return successors, (80), 75 states have call predecessors, (80), 80 states have call successors, (80) [2022-04-15 08:40:48,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 390 states to 390 states and 453 transitions. [2022-04-15 08:40:48,688 INFO L78 Accepts]: Start accepts. Automaton has 390 states and 453 transitions. Word has length 99 [2022-04-15 08:40:48,688 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 08:40:48,688 INFO L478 AbstractCegarLoop]: Abstraction has 390 states and 453 transitions. [2022-04-15 08:40:48,688 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 5.0) internal successors, (40), 7 states have internal predecessors, (40), 7 states have call successors, (17), 7 states have call predecessors, (17), 5 states have return successors, (15), 5 states have call predecessors, (15), 6 states have call successors, (15) [2022-04-15 08:40:48,688 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 390 states and 453 transitions. [2022-04-15 08:40:59,483 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 453 edges. 451 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 08:40:59,484 INFO L276 IsEmpty]: Start isEmpty. Operand 390 states and 453 transitions. [2022-04-15 08:40:59,484 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 105 [2022-04-15 08:40:59,484 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 08:40:59,484 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 08:40:59,502 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (25)] Forceful destruction successful, exit code 0 [2022-04-15 08:40:59,687 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 25 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-04-15 08:40:59,687 INFO L403 AbstractCegarLoop]: === Iteration 27 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 08:40:59,688 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 08:40:59,688 INFO L85 PathProgramCache]: Analyzing trace with hash 340347020, now seen corresponding path program 9 times [2022-04-15 08:40:59,688 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 08:40:59,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1197307334] [2022-04-15 08:40:59,688 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 08:40:59,688 INFO L85 PathProgramCache]: Analyzing trace with hash 340347020, now seen corresponding path program 10 times [2022-04-15 08:40:59,688 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 08:40:59,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [647475997] [2022-04-15 08:40:59,688 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 08:40:59,688 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 08:40:59,698 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 08:40:59,698 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1195513099] [2022-04-15 08:40:59,698 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 08:40:59,698 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 08:40:59,698 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 08:40:59,699 INFO L229 MonitoredProcess]: Starting monitored process 26 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 08:40:59,709 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (26)] Waiting until timeout for monitored process [2022-04-15 08:40:59,754 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 08:40:59,755 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 08:40:59,756 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-15 08:40:59,772 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 08:40:59,774 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 08:41:03,948 INFO L272 TraceCheckUtils]: 0: Hoare triple {37705#true} call ULTIMATE.init(); {37705#true} is VALID [2022-04-15 08:41:03,948 INFO L290 TraceCheckUtils]: 1: Hoare triple {37705#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {37705#true} is VALID [2022-04-15 08:41:03,948 INFO L290 TraceCheckUtils]: 2: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:03,949 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37705#true} {37705#true} #82#return; {37705#true} is VALID [2022-04-15 08:41:03,949 INFO L272 TraceCheckUtils]: 4: Hoare triple {37705#true} call #t~ret7 := main(); {37705#true} is VALID [2022-04-15 08:41:03,949 INFO L290 TraceCheckUtils]: 5: Hoare triple {37705#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {37705#true} is VALID [2022-04-15 08:41:03,949 INFO L272 TraceCheckUtils]: 6: Hoare triple {37705#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:03,949 INFO L290 TraceCheckUtils]: 7: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:03,949 INFO L290 TraceCheckUtils]: 8: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:03,949 INFO L290 TraceCheckUtils]: 9: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:03,949 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {37705#true} {37705#true} #64#return; {37705#true} is VALID [2022-04-15 08:41:03,949 INFO L272 TraceCheckUtils]: 11: Hoare triple {37705#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:03,949 INFO L290 TraceCheckUtils]: 12: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:03,950 INFO L290 TraceCheckUtils]: 13: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:03,950 INFO L290 TraceCheckUtils]: 14: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:03,950 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {37705#true} {37705#true} #66#return; {37705#true} is VALID [2022-04-15 08:41:03,950 INFO L290 TraceCheckUtils]: 16: Hoare triple {37705#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {37758#(and (= main_~r~0 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-15 08:41:03,951 INFO L290 TraceCheckUtils]: 17: Hoare triple {37758#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37758#(and (= main_~r~0 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-15 08:41:03,951 INFO L290 TraceCheckUtils]: 18: Hoare triple {37758#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {37758#(and (= main_~r~0 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-15 08:41:03,951 INFO L272 TraceCheckUtils]: 19: Hoare triple {37758#(and (= main_~r~0 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 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:03,951 INFO L290 TraceCheckUtils]: 20: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:03,952 INFO L290 TraceCheckUtils]: 21: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:03,952 INFO L290 TraceCheckUtils]: 22: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:03,952 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {37705#true} {37758#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #68#return; {37758#(and (= main_~r~0 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-15 08:41:03,952 INFO L272 TraceCheckUtils]: 24: Hoare triple {37758#(and (= main_~r~0 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)); {37705#true} is VALID [2022-04-15 08:41:03,953 INFO L290 TraceCheckUtils]: 25: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:03,953 INFO L290 TraceCheckUtils]: 26: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:03,953 INFO L290 TraceCheckUtils]: 27: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:03,953 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {37705#true} {37758#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #70#return; {37758#(and (= main_~r~0 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-15 08:41:03,954 INFO L272 TraceCheckUtils]: 29: Hoare triple {37758#(and (= main_~r~0 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)); {37705#true} is VALID [2022-04-15 08:41:03,954 INFO L290 TraceCheckUtils]: 30: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:03,954 INFO L290 TraceCheckUtils]: 31: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:03,954 INFO L290 TraceCheckUtils]: 32: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:03,955 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {37705#true} {37758#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #72#return; {37758#(and (= main_~r~0 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-15 08:41:03,955 INFO L290 TraceCheckUtils]: 34: Hoare triple {37758#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {37758#(and (= main_~r~0 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-15 08:41:03,956 INFO L290 TraceCheckUtils]: 35: Hoare triple {37758#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37816#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:41:03,956 INFO L290 TraceCheckUtils]: 36: Hoare triple {37816#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37816#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:41:03,957 INFO L290 TraceCheckUtils]: 37: Hoare triple {37816#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(#t~post6 < 50);havoc #t~post6; {37816#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:41:03,957 INFO L272 TraceCheckUtils]: 38: Hoare triple {37816#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:03,957 INFO L290 TraceCheckUtils]: 39: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:03,957 INFO L290 TraceCheckUtils]: 40: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:03,957 INFO L290 TraceCheckUtils]: 41: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:03,958 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {37705#true} {37816#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #68#return; {37816#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:41:03,958 INFO L272 TraceCheckUtils]: 43: Hoare triple {37816#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~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)); {37705#true} is VALID [2022-04-15 08:41:03,958 INFO L290 TraceCheckUtils]: 44: Hoare triple {37705#true} ~cond := #in~cond; {37844#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:41:03,959 INFO L290 TraceCheckUtils]: 45: Hoare triple {37844#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:41:03,959 INFO L290 TraceCheckUtils]: 46: Hoare triple {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:41:03,960 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} {37816#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #70#return; {37855#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:41:03,960 INFO L272 TraceCheckUtils]: 48: Hoare triple {37855#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~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)); {37705#true} is VALID [2022-04-15 08:41:03,960 INFO L290 TraceCheckUtils]: 49: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:03,961 INFO L290 TraceCheckUtils]: 50: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:03,961 INFO L290 TraceCheckUtils]: 51: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:03,961 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {37705#true} {37855#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #72#return; {37855#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:41:03,962 INFO L290 TraceCheckUtils]: 53: Hoare triple {37855#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {37855#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-15 08:41:03,965 INFO L290 TraceCheckUtils]: 54: Hoare triple {37855#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-15 08:41:03,966 INFO L290 TraceCheckUtils]: 55: Hoare triple {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-15 08:41:03,966 INFO L290 TraceCheckUtils]: 56: Hoare triple {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} assume !!(#t~post6 < 50);havoc #t~post6; {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-15 08:41:03,967 INFO L272 TraceCheckUtils]: 57: Hoare triple {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:03,967 INFO L290 TraceCheckUtils]: 58: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:03,967 INFO L290 TraceCheckUtils]: 59: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:03,967 INFO L290 TraceCheckUtils]: 60: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:03,968 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {37705#true} {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #68#return; {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-15 08:41:03,968 INFO L272 TraceCheckUtils]: 62: Hoare triple {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~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)); {37705#true} is VALID [2022-04-15 08:41:03,968 INFO L290 TraceCheckUtils]: 63: Hoare triple {37705#true} ~cond := #in~cond; {37844#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:41:03,968 INFO L290 TraceCheckUtils]: 64: Hoare triple {37844#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:41:03,969 INFO L290 TraceCheckUtils]: 65: Hoare triple {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:41:03,969 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #70#return; {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-15 08:41:03,970 INFO L272 TraceCheckUtils]: 67: Hoare triple {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~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)); {37705#true} is VALID [2022-04-15 08:41:03,970 INFO L290 TraceCheckUtils]: 68: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:03,970 INFO L290 TraceCheckUtils]: 69: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:03,970 INFO L290 TraceCheckUtils]: 70: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:03,971 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {37705#true} {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} #72#return; {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-15 08:41:03,971 INFO L290 TraceCheckUtils]: 72: Hoare triple {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} assume !!(~a~0 != ~b~0); {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} is VALID [2022-04-15 08:41:03,977 INFO L290 TraceCheckUtils]: 73: Hoare triple {37877#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0))) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (- 1) main_~b~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) main_~a~0))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-15 08:41:03,978 INFO L290 TraceCheckUtils]: 74: Hoare triple {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-15 08:41:03,978 INFO L290 TraceCheckUtils]: 75: Hoare triple {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} assume !!(#t~post6 < 50);havoc #t~post6; {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-15 08:41:03,978 INFO L272 TraceCheckUtils]: 76: Hoare triple {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:03,979 INFO L290 TraceCheckUtils]: 77: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:03,979 INFO L290 TraceCheckUtils]: 78: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:03,979 INFO L290 TraceCheckUtils]: 79: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:03,980 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {37705#true} {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #68#return; {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-15 08:41:03,980 INFO L272 TraceCheckUtils]: 81: Hoare triple {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:03,980 INFO L290 TraceCheckUtils]: 82: Hoare triple {37705#true} ~cond := #in~cond; {37844#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:41:03,980 INFO L290 TraceCheckUtils]: 83: Hoare triple {37844#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:41:03,981 INFO L290 TraceCheckUtils]: 84: Hoare triple {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:41:03,982 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #70#return; {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-15 08:41:03,982 INFO L272 TraceCheckUtils]: 86: Hoare triple {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:03,982 INFO L290 TraceCheckUtils]: 87: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:03,982 INFO L290 TraceCheckUtils]: 88: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:03,982 INFO L290 TraceCheckUtils]: 89: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:03,983 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {37705#true} {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} #72#return; {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-15 08:41:03,983 INFO L290 TraceCheckUtils]: 91: Hoare triple {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} assume !!(~a~0 != ~b~0); {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} is VALID [2022-04-15 08:41:03,988 INFO L290 TraceCheckUtils]: 92: Hoare triple {37935#(and (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~a~0 (+ (* main_~y~0 (* (- 1) main_~s~0)) (* (- 2) main_~b~0) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ main_~p~0 (* main_~q~0 2))))) (= main_~q~0 0) (= (+ main_~p~0 (* main_~q~0 3)) 1))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37993#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 08:41:03,989 INFO L290 TraceCheckUtils]: 93: Hoare triple {37993#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37993#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 08:41:03,990 INFO L290 TraceCheckUtils]: 94: Hoare triple {37993#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} assume !!(#t~post6 < 50);havoc #t~post6; {37993#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 08:41:03,990 INFO L272 TraceCheckUtils]: 95: Hoare triple {37993#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:03,990 INFO L290 TraceCheckUtils]: 96: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:03,990 INFO L290 TraceCheckUtils]: 97: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:03,990 INFO L290 TraceCheckUtils]: 98: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:03,991 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {37705#true} {37993#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} #68#return; {37993#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} is VALID [2022-04-15 08:41:03,996 INFO L272 TraceCheckUtils]: 100: Hoare triple {37993#(and (= (mod (* main_~r~0 3) 4) 0) (= (+ (* (* (- 1) main_~p~0 main_~x~0) (- 3)) (* main_~x~0 (- 3)) (* main_~p~0 main_~x~0) (* (* (div (- main_~r~0) 4) main_~y~0) (- 3)) (* main_~y~0 (* (- 1) (div (- main_~r~0) 4)))) main_~a~0) (= (+ (* (- 1) main_~p~0 main_~x~0) (* (div (- main_~r~0) 4) main_~y~0) main_~x~0) main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {38018#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:41:03,996 INFO L290 TraceCheckUtils]: 101: Hoare triple {38018#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {38022#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:41:03,996 INFO L290 TraceCheckUtils]: 102: Hoare triple {38022#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37706#false} is VALID [2022-04-15 08:41:03,996 INFO L290 TraceCheckUtils]: 103: Hoare triple {37706#false} assume !false; {37706#false} is VALID [2022-04-15 08:41:03,997 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 77 proven. 97 refuted. 0 times theorem prover too weak. 226 trivial. 0 not checked. [2022-04-15 08:41:03,997 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 08:41:50,806 INFO L290 TraceCheckUtils]: 103: Hoare triple {37706#false} assume !false; {37706#false} is VALID [2022-04-15 08:41:50,806 INFO L290 TraceCheckUtils]: 102: Hoare triple {38022#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {37706#false} is VALID [2022-04-15 08:41:50,806 INFO L290 TraceCheckUtils]: 101: Hoare triple {38018#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {38022#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 08:41:50,807 INFO L272 TraceCheckUtils]: 100: Hoare triple {38038#(= 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)); {38018#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 08:41:50,808 INFO L284 TraceCheckUtils]: 99: Hoare quadruple {37705#true} {38038#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #68#return; {38038#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:41:50,808 INFO L290 TraceCheckUtils]: 98: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:50,808 INFO L290 TraceCheckUtils]: 97: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:50,808 INFO L290 TraceCheckUtils]: 96: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:50,808 INFO L272 TraceCheckUtils]: 95: Hoare triple {38038#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:50,808 INFO L290 TraceCheckUtils]: 94: Hoare triple {38038#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !!(#t~post6 < 50);havoc #t~post6; {38038#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:41:50,809 INFO L290 TraceCheckUtils]: 93: Hoare triple {38038#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38038#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:41:51,445 INFO L290 TraceCheckUtils]: 92: Hoare triple {38063#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {38038#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 08:41:51,446 INFO L290 TraceCheckUtils]: 91: Hoare triple {38063#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} assume !!(~a~0 != ~b~0); {38063#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:41:51,446 INFO L284 TraceCheckUtils]: 90: Hoare quadruple {37705#true} {38063#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} #72#return; {38063#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:41:51,446 INFO L290 TraceCheckUtils]: 89: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:51,447 INFO L290 TraceCheckUtils]: 88: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:51,447 INFO L290 TraceCheckUtils]: 87: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:51,447 INFO L272 TraceCheckUtils]: 86: Hoare triple {38063#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:51,448 INFO L284 TraceCheckUtils]: 85: Hoare quadruple {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} {38085#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #70#return; {38063#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 08:41:51,448 INFO L290 TraceCheckUtils]: 84: Hoare triple {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:41:51,449 INFO L290 TraceCheckUtils]: 83: Hoare triple {38095#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:41:51,449 INFO L290 TraceCheckUtils]: 82: Hoare triple {37705#true} ~cond := #in~cond; {38095#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:41:51,449 INFO L272 TraceCheckUtils]: 81: Hoare triple {38085#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:51,450 INFO L284 TraceCheckUtils]: 80: Hoare quadruple {37705#true} {38085#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #68#return; {38085#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:41:51,450 INFO L290 TraceCheckUtils]: 79: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:51,450 INFO L290 TraceCheckUtils]: 78: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:51,450 INFO L290 TraceCheckUtils]: 77: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:51,450 INFO L272 TraceCheckUtils]: 76: Hoare triple {38085#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:51,451 INFO L290 TraceCheckUtils]: 75: Hoare triple {38085#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !!(#t~post6 < 50);havoc #t~post6; {38085#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:41:51,451 INFO L290 TraceCheckUtils]: 74: Hoare triple {38085#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {38085#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:41:51,533 INFO L290 TraceCheckUtils]: 73: Hoare triple {38123#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {38085#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 08:41:51,534 INFO L290 TraceCheckUtils]: 72: Hoare triple {38123#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} assume !!(~a~0 != ~b~0); {38123#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 08:41:51,535 INFO L284 TraceCheckUtils]: 71: Hoare quadruple {37705#true} {38123#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} #72#return; {38123#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 08:41:51,535 INFO L290 TraceCheckUtils]: 70: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:51,535 INFO L290 TraceCheckUtils]: 69: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:51,535 INFO L290 TraceCheckUtils]: 68: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:51,535 INFO L272 TraceCheckUtils]: 67: Hoare triple {38123#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:51,537 INFO L284 TraceCheckUtils]: 66: Hoare quadruple {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} {37705#true} #70#return; {38123#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 08:41:51,537 INFO L290 TraceCheckUtils]: 65: Hoare triple {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:41:51,538 INFO L290 TraceCheckUtils]: 64: Hoare triple {38095#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {37848#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 08:41:51,538 INFO L290 TraceCheckUtils]: 63: Hoare triple {37705#true} ~cond := #in~cond; {38095#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 08:41:51,538 INFO L272 TraceCheckUtils]: 62: Hoare triple {37705#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:51,538 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {37705#true} {37705#true} #68#return; {37705#true} is VALID [2022-04-15 08:41:51,538 INFO L290 TraceCheckUtils]: 60: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:51,538 INFO L290 TraceCheckUtils]: 59: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:51,539 INFO L290 TraceCheckUtils]: 58: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:51,539 INFO L272 TraceCheckUtils]: 57: Hoare triple {37705#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:51,539 INFO L290 TraceCheckUtils]: 56: Hoare triple {37705#true} assume !!(#t~post6 < 50);havoc #t~post6; {37705#true} is VALID [2022-04-15 08:41:51,539 INFO L290 TraceCheckUtils]: 55: Hoare triple {37705#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37705#true} is VALID [2022-04-15 08:41:51,539 INFO L290 TraceCheckUtils]: 54: Hoare triple {37705#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37705#true} is VALID [2022-04-15 08:41:51,539 INFO L290 TraceCheckUtils]: 53: Hoare triple {37705#true} assume !!(~a~0 != ~b~0); {37705#true} is VALID [2022-04-15 08:41:51,539 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {37705#true} {37705#true} #72#return; {37705#true} is VALID [2022-04-15 08:41:51,539 INFO L290 TraceCheckUtils]: 51: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:51,539 INFO L290 TraceCheckUtils]: 50: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:51,539 INFO L290 TraceCheckUtils]: 49: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:51,539 INFO L272 TraceCheckUtils]: 48: Hoare triple {37705#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:51,539 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {37705#true} {37705#true} #70#return; {37705#true} is VALID [2022-04-15 08:41:51,539 INFO L290 TraceCheckUtils]: 46: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:51,540 INFO L290 TraceCheckUtils]: 45: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:51,540 INFO L290 TraceCheckUtils]: 44: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:51,540 INFO L272 TraceCheckUtils]: 43: Hoare triple {37705#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:51,540 INFO L284 TraceCheckUtils]: 42: Hoare quadruple {37705#true} {37705#true} #68#return; {37705#true} is VALID [2022-04-15 08:41:51,540 INFO L290 TraceCheckUtils]: 41: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:51,540 INFO L290 TraceCheckUtils]: 40: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:51,540 INFO L290 TraceCheckUtils]: 39: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:51,540 INFO L272 TraceCheckUtils]: 38: Hoare triple {37705#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:51,540 INFO L290 TraceCheckUtils]: 37: Hoare triple {37705#true} assume !!(#t~post6 < 50);havoc #t~post6; {37705#true} is VALID [2022-04-15 08:41:51,540 INFO L290 TraceCheckUtils]: 36: Hoare triple {37705#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37705#true} is VALID [2022-04-15 08:41:51,540 INFO L290 TraceCheckUtils]: 35: Hoare triple {37705#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {37705#true} is VALID [2022-04-15 08:41:51,540 INFO L290 TraceCheckUtils]: 34: Hoare triple {37705#true} assume !!(~a~0 != ~b~0); {37705#true} is VALID [2022-04-15 08:41:51,540 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {37705#true} {37705#true} #72#return; {37705#true} is VALID [2022-04-15 08:41:51,540 INFO L290 TraceCheckUtils]: 32: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:51,540 INFO L290 TraceCheckUtils]: 31: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:51,541 INFO L290 TraceCheckUtils]: 30: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:51,541 INFO L272 TraceCheckUtils]: 29: Hoare triple {37705#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:51,541 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {37705#true} {37705#true} #70#return; {37705#true} is VALID [2022-04-15 08:41:51,541 INFO L290 TraceCheckUtils]: 27: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:51,541 INFO L290 TraceCheckUtils]: 26: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:51,541 INFO L290 TraceCheckUtils]: 25: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:51,541 INFO L272 TraceCheckUtils]: 24: Hoare triple {37705#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:51,541 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {37705#true} {37705#true} #68#return; {37705#true} is VALID [2022-04-15 08:41:51,541 INFO L290 TraceCheckUtils]: 22: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:51,541 INFO L290 TraceCheckUtils]: 21: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:51,541 INFO L290 TraceCheckUtils]: 20: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:51,541 INFO L272 TraceCheckUtils]: 19: Hoare triple {37705#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:51,541 INFO L290 TraceCheckUtils]: 18: Hoare triple {37705#true} assume !!(#t~post6 < 50);havoc #t~post6; {37705#true} is VALID [2022-04-15 08:41:51,541 INFO L290 TraceCheckUtils]: 17: Hoare triple {37705#true} #t~post6 := ~counter~0;~counter~0 := 1 + #t~post6; {37705#true} is VALID [2022-04-15 08:41:51,542 INFO L290 TraceCheckUtils]: 16: Hoare triple {37705#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {37705#true} is VALID [2022-04-15 08:41:51,542 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {37705#true} {37705#true} #66#return; {37705#true} is VALID [2022-04-15 08:41:51,542 INFO L290 TraceCheckUtils]: 14: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:51,542 INFO L290 TraceCheckUtils]: 13: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:51,542 INFO L290 TraceCheckUtils]: 12: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:51,542 INFO L272 TraceCheckUtils]: 11: Hoare triple {37705#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:51,542 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {37705#true} {37705#true} #64#return; {37705#true} is VALID [2022-04-15 08:41:51,542 INFO L290 TraceCheckUtils]: 9: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:51,542 INFO L290 TraceCheckUtils]: 8: Hoare triple {37705#true} assume !(0 == ~cond); {37705#true} is VALID [2022-04-15 08:41:51,542 INFO L290 TraceCheckUtils]: 7: Hoare triple {37705#true} ~cond := #in~cond; {37705#true} is VALID [2022-04-15 08:41:51,542 INFO L272 TraceCheckUtils]: 6: Hoare triple {37705#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {37705#true} is VALID [2022-04-15 08:41:51,542 INFO L290 TraceCheckUtils]: 5: Hoare triple {37705#true} havoc ~a~0;havoc ~b~0;havoc ~p~0;havoc ~q~0;havoc ~r~0;havoc ~s~0;havoc ~x~0;havoc ~y~0;assume -2147483648 <= #t~nondet4 && #t~nondet4 <= 2147483647;~x~0 := #t~nondet4;havoc #t~nondet4;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~y~0 := #t~nondet5;havoc #t~nondet5; {37705#true} is VALID [2022-04-15 08:41:51,542 INFO L272 TraceCheckUtils]: 4: Hoare triple {37705#true} call #t~ret7 := main(); {37705#true} is VALID [2022-04-15 08:41:51,542 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37705#true} {37705#true} #82#return; {37705#true} is VALID [2022-04-15 08:41:51,542 INFO L290 TraceCheckUtils]: 2: Hoare triple {37705#true} assume true; {37705#true} is VALID [2022-04-15 08:41:51,543 INFO L290 TraceCheckUtils]: 1: Hoare triple {37705#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(10, 2);call #Ultimate.allocInit(12, 3);~counter~0 := 0; {37705#true} is VALID [2022-04-15 08:41:51,543 INFO L272 TraceCheckUtils]: 0: Hoare triple {37705#true} call ULTIMATE.init(); {37705#true} is VALID [2022-04-15 08:41:51,543 INFO L134 CoverageAnalysis]: Checked inductivity of 400 backedges. 108 proven. 27 refuted. 0 times theorem prover too weak. 265 trivial. 0 not checked. [2022-04-15 08:41:51,543 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 08:41:51,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [647475997] [2022-04-15 08:41:51,543 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 08:41:51,543 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1195513099] [2022-04-15 08:41:51,543 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1195513099] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 08:41:51,543 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 08:41:51,544 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 10] total 17 [2022-04-15 08:41:51,544 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 08:41:51,544 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1197307334] [2022-04-15 08:41:51,544 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1197307334] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 08:41:51,544 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 08:41:51,544 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 08:41:51,544 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1041970276] [2022-04-15 08:41:51,544 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 08:41:51,545 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) Word has length 104 [2022-04-15 08:41:51,545 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 08:41:51,545 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16) [2022-04-15 08:41:51,649 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-15 08:41:51,649 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 08:41:51,649 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 08:41:51,650 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 08:41:51,650 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=216, Unknown=0, NotChecked=0, Total=272 [2022-04-15 08:41:51,650 INFO L87 Difference]: Start difference. First operand 390 states and 453 transitions. Second operand has 12 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 11 states have internal predecessors, (34), 7 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 7 states have call predecessors, (16), 7 states have call successors, (16)