/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/egcd-ll.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-34549b5 [2022-04-08 04:22:24,981 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-08 04:22:24,983 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-08 04:22:25,026 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-08 04:22:25,026 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-08 04:22:25,027 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-08 04:22:25,028 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-08 04:22:25,029 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-08 04:22:25,030 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-08 04:22:25,031 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-08 04:22:25,032 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-08 04:22:25,032 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-08 04:22:25,033 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-08 04:22:25,033 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-08 04:22:25,034 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-08 04:22:25,051 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-08 04:22:25,052 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-08 04:22:25,053 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-08 04:22:25,054 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-08 04:22:25,055 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-08 04:22:25,056 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-08 04:22:25,057 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-08 04:22:25,058 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-08 04:22:25,059 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-08 04:22:25,059 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-08 04:22:25,061 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-08 04:22:25,061 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-08 04:22:25,061 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-08 04:22:25,062 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-08 04:22:25,062 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-08 04:22:25,063 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-08 04:22:25,063 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-08 04:22:25,063 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-08 04:22:25,064 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-08 04:22:25,064 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-08 04:22:25,065 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-08 04:22:25,065 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-08 04:22:25,065 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-08 04:22:25,066 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-08 04:22:25,066 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-08 04:22:25,066 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-08 04:22:25,075 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-08 04:22:25,075 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-08 04:22:25,088 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-08 04:22:25,088 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-08 04:22:25,089 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-08 04:22:25,090 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-08 04:22:25,090 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-08 04:22:25,090 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-08 04:22:25,090 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-08 04:22:25,090 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-08 04:22:25,090 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-08 04:22:25,091 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-08 04:22:25,091 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-08 04:22:25,091 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-08 04:22:25,091 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-08 04:22:25,091 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-08 04:22:25,091 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-08 04:22:25,091 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-08 04:22:25,091 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-08 04:22:25,091 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-08 04:22:25,092 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:22:25,092 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-08 04:22:25,092 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-08 04:22:25,092 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-08 04:22:25,092 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-08 04:22:25,092 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-08 04:22:25,092 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-08 04:22:25,092 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-08 04:22:25,284 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-08 04:22:25,306 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-08 04:22:25,308 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-08 04:22:25,309 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-08 04:22:25,309 INFO L275 PluginConnector]: CDTParser initialized [2022-04-08 04:22:25,310 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/nla-digbench/egcd-ll.c [2022-04-08 04:22:25,355 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/505dc8599/2363ba9ca7034dd7879e241a6ba4481a/FLAG374a182cd [2022-04-08 04:22:25,686 INFO L306 CDTParser]: Found 1 translation units. [2022-04-08 04:22:25,686 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/egcd-ll.c [2022-04-08 04:22:25,691 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/505dc8599/2363ba9ca7034dd7879e241a6ba4481a/FLAG374a182cd [2022-04-08 04:22:26,117 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/505dc8599/2363ba9ca7034dd7879e241a6ba4481a [2022-04-08 04:22:26,118 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-08 04:22:26,120 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-08 04:22:26,122 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-08 04:22:26,122 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-08 04:22:26,125 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-08 04:22:26,126 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:22:26" (1/1) ... [2022-04-08 04:22:26,126 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@13713c89 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:26, skipping insertion in model container [2022-04-08 04:22:26,126 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.04 04:22:26" (1/1) ... [2022-04-08 04:22:26,131 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-08 04:22:26,142 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-08 04:22:26,251 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/egcd-ll.c[489,502] [2022-04-08 04:22:26,264 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:22:26,269 INFO L203 MainTranslator]: Completed pre-run [2022-04-08 04:22:26,277 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/egcd-ll.c[489,502] [2022-04-08 04:22:26,283 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-08 04:22:26,292 INFO L208 MainTranslator]: Completed translation [2022-04-08 04:22:26,292 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:26 WrapperNode [2022-04-08 04:22:26,292 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-08 04:22:26,293 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-08 04:22:26,293 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-08 04:22:26,293 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-08 04:22:26,301 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:26" (1/1) ... [2022-04-08 04:22:26,301 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:26" (1/1) ... [2022-04-08 04:22:26,306 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:26" (1/1) ... [2022-04-08 04:22:26,307 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:26" (1/1) ... [2022-04-08 04:22:26,319 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:26" (1/1) ... [2022-04-08 04:22:26,325 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:26" (1/1) ... [2022-04-08 04:22:26,329 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:26" (1/1) ... [2022-04-08 04:22:26,330 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-08 04:22:26,331 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-08 04:22:26,331 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-08 04:22:26,331 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-08 04:22:26,333 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:26" (1/1) ... [2022-04-08 04:22:26,338 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-08 04:22:26,345 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:22:26,354 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-08 04:22:26,360 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-08 04:22:26,381 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-08 04:22:26,381 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-08 04:22:26,382 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-08 04:22:26,382 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-08 04:22:26,382 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-08 04:22:26,382 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-08 04:22:26,382 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-08 04:22:26,382 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-08 04:22:26,382 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-08 04:22:26,382 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-08 04:22:26,382 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-08 04:22:26,382 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-08 04:22:26,383 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-08 04:22:26,383 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-08 04:22:26,383 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-08 04:22:26,383 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-08 04:22:26,383 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-08 04:22:26,383 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-08 04:22:26,383 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-08 04:22:26,383 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-08 04:22:26,430 INFO L234 CfgBuilder]: Building ICFG [2022-04-08 04:22:26,431 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-08 04:22:26,605 INFO L275 CfgBuilder]: Performing block encoding [2022-04-08 04:22:26,620 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-08 04:22:26,620 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-08 04:22:26,622 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:22:26 BoogieIcfgContainer [2022-04-08 04:22:26,622 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-08 04:22:26,623 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-08 04:22:26,623 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-08 04:22:26,626 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-08 04:22:26,626 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.04 04:22:26" (1/3) ... [2022-04-08 04:22:26,626 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4f4442d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:22:26, skipping insertion in model container [2022-04-08 04:22:26,627 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.04 04:22:26" (2/3) ... [2022-04-08 04:22:26,627 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4f4442d and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.04 04:22:26, skipping insertion in model container [2022-04-08 04:22:26,627 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 08.04 04:22:26" (3/3) ... [2022-04-08 04:22:26,628 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll.c [2022-04-08 04:22:26,632 INFO L203 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-08 04:22:26,633 INFO L162 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-08 04:22:26,673 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-08 04:22:26,680 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-08 04:22:26,680 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-08 04:22:26,702 INFO L276 IsEmpty]: Start isEmpty. Operand has 34 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 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-08 04:22:26,708 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 04:22:26,708 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:22:26,708 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-08 04:22:26,709 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:22:26,713 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:22:26,713 INFO L85 PathProgramCache]: Analyzing trace with hash -2012836591, now seen corresponding path program 1 times [2022-04-08 04:22:26,722 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:26,722 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1584762409] [2022-04-08 04:22:26,731 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:22:26,731 INFO L85 PathProgramCache]: Analyzing trace with hash -2012836591, now seen corresponding path program 2 times [2022-04-08 04:22:26,733 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:22:26,734 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [608602979] [2022-04-08 04:22:26,734 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:22:26,735 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:22:26,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:26,922 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-08 04:22:26,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:26,954 INFO L290 TraceCheckUtils]: 0: Hoare triple {50#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {37#true} is VALID [2022-04-08 04:22:26,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 04:22:26,955 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #81#return; {37#true} is VALID [2022-04-08 04:22:26,956 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-08 04:22:26,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:26,982 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 04:22:26,986 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 04:22:26,986 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 04:22:26,986 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #63#return; {38#false} is VALID [2022-04-08 04:22:26,986 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-08 04:22:26,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:26,992 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 04:22:26,993 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 04:22:26,993 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 04:22:26,993 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #65#return; {38#false} is VALID [2022-04-08 04:22:26,994 INFO L272 TraceCheckUtils]: 0: Hoare triple {37#true} call ULTIMATE.init(); {50#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-08 04:22:26,994 INFO L290 TraceCheckUtils]: 1: Hoare triple {50#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(10, 2);call #Ultimate.allocInit(12, 3); {37#true} is VALID [2022-04-08 04:22:26,995 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-08 04:22:26,995 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #81#return; {37#true} is VALID [2022-04-08 04:22:26,995 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-08 04:22:26,995 INFO L290 TraceCheckUtils]: 5: Hoare triple {37#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; {37#true} is VALID [2022-04-08 04:22:26,995 INFO L272 TraceCheckUtils]: 6: Hoare triple {37#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {37#true} is VALID [2022-04-08 04:22:26,996 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 04:22:26,996 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 04:22:26,996 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 04:22:26,996 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #63#return; {38#false} is VALID [2022-04-08 04:22:26,996 INFO L272 TraceCheckUtils]: 11: Hoare triple {38#false} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {37#true} is VALID [2022-04-08 04:22:26,997 INFO L290 TraceCheckUtils]: 12: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-08 04:22:26,997 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-08 04:22:26,997 INFO L290 TraceCheckUtils]: 14: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-08 04:22:26,997 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {38#false} {38#false} #65#return; {38#false} is VALID [2022-04-08 04:22:26,998 INFO L290 TraceCheckUtils]: 16: Hoare triple {38#false} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {38#false} is VALID [2022-04-08 04:22:26,998 INFO L290 TraceCheckUtils]: 17: Hoare triple {38#false} assume false; {38#false} is VALID [2022-04-08 04:22:26,998 INFO L272 TraceCheckUtils]: 18: Hoare triple {38#false} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {38#false} is VALID [2022-04-08 04:22:26,998 INFO L290 TraceCheckUtils]: 19: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-08 04:22:26,998 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-08 04:22:26,998 INFO L290 TraceCheckUtils]: 21: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-08 04:22:26,999 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-08 04:22:26,999 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:22:26,999 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [608602979] [2022-04-08 04:22:27,000 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [608602979] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:27,000 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:27,000 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 04:22:27,002 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:22:27,002 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1584762409] [2022-04-08 04:22:27,003 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1584762409] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:27,003 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:27,003 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-08 04:22:27,003 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1476261404] [2022-04-08 04:22:27,003 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:22:27,007 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-08 04:22:27,009 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:22:27,011 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-08 04:22:27,043 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-08 04:22:27,043 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-08 04:22:27,043 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:27,059 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-08 04:22:27,060 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-08 04:22:27,063 INFO L87 Difference]: Start difference. First operand has 34 states, 17 states have (on average 1.411764705882353) internal successors, (24), 18 states have internal predecessors, (24), 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-08 04:22:27,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:27,244 INFO L93 Difference]: Finished difference Result 61 states and 93 transitions. [2022-04-08 04:22:27,244 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-08 04:22:27,244 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-08 04:22:27,244 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:22:27,245 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-08 04:22:27,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 93 transitions. [2022-04-08 04:22:27,252 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-08 04:22:27,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 93 transitions. [2022-04-08 04:22:27,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 93 transitions. [2022-04-08 04:22:27,420 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:27,426 INFO L225 Difference]: With dead ends: 61 [2022-04-08 04:22:27,427 INFO L226 Difference]: Without dead ends: 29 [2022-04-08 04:22:27,430 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-08 04:22:27,436 INFO L913 BasicCegarLoop]: 33 mSDtfsCounter, 17 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 11 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 26 SdHoareTripleChecker+Valid, 36 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 11 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:22:27,437 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [26 Valid, 36 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 11 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:22:27,460 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-08 04:22:27,485 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-08 04:22:27,485 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:22:27,488 INFO L82 GeneralOperation]: Start isEquivalent. First operand 29 states. Second operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 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-08 04:22:27,490 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 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-08 04:22:27,490 INFO L87 Difference]: Start difference. First operand 29 states. Second operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 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-08 04:22:27,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:27,496 INFO L93 Difference]: Finished difference Result 29 states and 37 transitions. [2022-04-08 04:22:27,496 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2022-04-08 04:22:27,497 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:27,497 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:27,498 INFO L74 IsIncluded]: Start isIncluded. First operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 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 29 states. [2022-04-08 04:22:27,498 INFO L87 Difference]: Start difference. First operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 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 29 states. [2022-04-08 04:22:27,503 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:27,503 INFO L93 Difference]: Finished difference Result 29 states and 37 transitions. [2022-04-08 04:22:27,503 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2022-04-08 04:22:27,507 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:27,507 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:27,507 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:22:27,508 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:22:27,508 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 29 states, 14 states have (on average 1.2142857142857142) internal successors, (17), 15 states have internal predecessors, (17), 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-08 04:22:27,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 37 transitions. [2022-04-08 04:22:27,512 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 37 transitions. Word has length 22 [2022-04-08 04:22:27,512 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:22:27,512 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 37 transitions. [2022-04-08 04:22:27,512 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-08 04:22:27,513 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 37 transitions. [2022-04-08 04:22:27,556 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 37 edges. 37 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:27,556 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2022-04-08 04:22:27,557 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-08 04:22:27,557 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:22:27,558 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-08 04:22:27,558 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-08 04:22:27,559 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:22:27,559 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:22:27,559 INFO L85 PathProgramCache]: Analyzing trace with hash 1952740121, now seen corresponding path program 1 times [2022-04-08 04:22:27,559 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:27,559 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1581482182] [2022-04-08 04:22:27,560 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:22:27,560 INFO L85 PathProgramCache]: Analyzing trace with hash 1952740121, now seen corresponding path program 2 times [2022-04-08 04:22:27,561 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:22:27,561 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [814189496] [2022-04-08 04:22:27,561 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:22:27,561 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:22:27,585 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:22:27,586 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1760638292] [2022-04-08 04:22:27,586 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:22:27,586 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:27,586 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:22:27,591 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:22:27,592 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-08 04:22:27,640 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-08 04:22:27,641 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:22:27,659 INFO L263 TraceCheckSpWp]: Trace formula consists of 78 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-08 04:22:27,683 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:27,687 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:22:27,833 INFO L272 TraceCheckUtils]: 0: Hoare triple {291#true} call ULTIMATE.init(); {291#true} is VALID [2022-04-08 04:22:27,833 INFO L290 TraceCheckUtils]: 1: Hoare triple {291#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); {291#true} is VALID [2022-04-08 04:22:27,833 INFO L290 TraceCheckUtils]: 2: Hoare triple {291#true} assume true; {291#true} is VALID [2022-04-08 04:22:27,834 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {291#true} {291#true} #81#return; {291#true} is VALID [2022-04-08 04:22:27,834 INFO L272 TraceCheckUtils]: 4: Hoare triple {291#true} call #t~ret6 := main(); {291#true} is VALID [2022-04-08 04:22:27,834 INFO L290 TraceCheckUtils]: 5: Hoare triple {291#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; {291#true} is VALID [2022-04-08 04:22:27,834 INFO L272 TraceCheckUtils]: 6: Hoare triple {291#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {291#true} is VALID [2022-04-08 04:22:27,834 INFO L290 TraceCheckUtils]: 7: Hoare triple {291#true} ~cond := #in~cond; {291#true} is VALID [2022-04-08 04:22:27,835 INFO L290 TraceCheckUtils]: 8: Hoare triple {291#true} assume !(0 == ~cond); {291#true} is VALID [2022-04-08 04:22:27,835 INFO L290 TraceCheckUtils]: 9: Hoare triple {291#true} assume true; {291#true} is VALID [2022-04-08 04:22:27,835 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {291#true} {291#true} #63#return; {291#true} is VALID [2022-04-08 04:22:27,835 INFO L272 TraceCheckUtils]: 11: Hoare triple {291#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {291#true} is VALID [2022-04-08 04:22:27,835 INFO L290 TraceCheckUtils]: 12: Hoare triple {291#true} ~cond := #in~cond; {291#true} is VALID [2022-04-08 04:22:27,835 INFO L290 TraceCheckUtils]: 13: Hoare triple {291#true} assume !(0 == ~cond); {291#true} is VALID [2022-04-08 04:22:27,836 INFO L290 TraceCheckUtils]: 14: Hoare triple {291#true} assume true; {291#true} is VALID [2022-04-08 04:22:27,836 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {291#true} {291#true} #65#return; {291#true} is VALID [2022-04-08 04:22:27,837 INFO L290 TraceCheckUtils]: 16: Hoare triple {291#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {344#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-08 04:22:27,837 INFO L290 TraceCheckUtils]: 17: Hoare triple {344#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} assume !false; {344#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~p~0 1))} is VALID [2022-04-08 04:22:27,838 INFO L272 TraceCheckUtils]: 18: Hoare triple {344#(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)); {351#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:22:27,839 INFO L290 TraceCheckUtils]: 19: Hoare triple {351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:27,839 INFO L290 TraceCheckUtils]: 20: Hoare triple {355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {292#false} is VALID [2022-04-08 04:22:27,839 INFO L290 TraceCheckUtils]: 21: Hoare triple {292#false} assume !false; {292#false} is VALID [2022-04-08 04:22:27,840 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-08 04:22:27,840 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:22:27,840 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:22:27,840 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [814189496] [2022-04-08 04:22:27,840 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:22:27,841 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1760638292] [2022-04-08 04:22:27,841 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1760638292] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:27,841 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:27,841 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:22:27,842 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:22:27,842 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1581482182] [2022-04-08 04:22:27,842 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1581482182] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:27,842 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:27,842 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:22:27,842 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1901970270] [2022-04-08 04:22:27,842 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:22:27,843 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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 22 [2022-04-08 04:22:27,843 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:22:27,843 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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-08 04:22:27,861 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-08 04:22:27,862 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:22:27,862 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:27,864 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:22:27,864 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 04:22:27,866 INFO L87 Difference]: Start difference. First operand 29 states and 37 transitions. Second operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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-08 04:22:28,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:28,077 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-08 04:22:28,078 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:22:28,078 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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 22 [2022-04-08 04:22:28,079 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:22:28,079 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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-08 04:22:28,084 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 04:22:28,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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-08 04:22:28,086 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 04:22:28,087 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-08 04:22:28,151 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:28,153 INFO L225 Difference]: With dead ends: 45 [2022-04-08 04:22:28,153 INFO L226 Difference]: Without dead ends: 43 [2022-04-08 04:22:28,154 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 18 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 04:22:28,155 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 7 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 42 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 123 SdHoareTripleChecker+Invalid, 44 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 42 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:22:28,155 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 123 Invalid, 44 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 42 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:22:28,156 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-08 04:22:28,164 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2022-04-08 04:22:28,165 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:22:28,165 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 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-08 04:22:28,165 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 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-08 04:22:28,166 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 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-08 04:22:28,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:28,169 INFO L93 Difference]: Finished difference Result 43 states and 58 transitions. [2022-04-08 04:22:28,169 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 58 transitions. [2022-04-08 04:22:28,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:28,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:28,171 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 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 43 states. [2022-04-08 04:22:28,171 INFO L87 Difference]: Start difference. First operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 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 43 states. [2022-04-08 04:22:28,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:28,174 INFO L93 Difference]: Finished difference Result 43 states and 58 transitions. [2022-04-08 04:22:28,174 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 58 transitions. [2022-04-08 04:22:28,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:28,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:28,175 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:22:28,175 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:22:28,176 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 20 states have (on average 1.25) internal successors, (25), 22 states have internal predecessors, (25), 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-08 04:22:28,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 57 transitions. [2022-04-08 04:22:28,179 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 57 transitions. Word has length 22 [2022-04-08 04:22:28,179 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:22:28,179 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 57 transitions. [2022-04-08 04:22:28,179 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.2) internal successors, (11), 4 states have internal predecessors, (11), 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-08 04:22:28,180 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 57 transitions. [2022-04-08 04:22:28,241 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-08 04:22:28,241 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 57 transitions. [2022-04-08 04:22:28,255 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-08 04:22:28,255 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:22:28,256 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] [2022-04-08 04:22:28,279 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-04-08 04:22:28,456 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:28,456 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:22:28,457 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:22:28,457 INFO L85 PathProgramCache]: Analyzing trace with hash 652987931, now seen corresponding path program 1 times [2022-04-08 04:22:28,457 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:28,457 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1697784244] [2022-04-08 04:22:28,457 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:22:28,458 INFO L85 PathProgramCache]: Analyzing trace with hash 652987931, now seen corresponding path program 2 times [2022-04-08 04:22:28,458 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:22:28,458 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1949949846] [2022-04-08 04:22:28,458 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:22:28,458 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:22:28,480 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:22:28,480 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [297780085] [2022-04-08 04:22:28,480 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:22:28,480 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:28,480 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:22:28,481 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:22:28,482 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-08 04:22:28,522 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:22:28,522 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:22:28,523 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 04:22:28,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:28,534 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:22:28,714 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-08 04:22:28,715 INFO L290 TraceCheckUtils]: 1: Hoare triple {623#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); {623#true} is VALID [2022-04-08 04:22:28,715 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 04:22:28,715 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #81#return; {623#true} is VALID [2022-04-08 04:22:28,715 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-08 04:22:28,715 INFO L290 TraceCheckUtils]: 5: Hoare triple {623#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; {623#true} is VALID [2022-04-08 04:22:28,716 INFO L272 TraceCheckUtils]: 6: Hoare triple {623#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-08 04:22:28,716 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-08 04:22:28,716 INFO L290 TraceCheckUtils]: 8: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-08 04:22:28,716 INFO L290 TraceCheckUtils]: 9: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 04:22:28,716 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {623#true} {623#true} #63#return; {623#true} is VALID [2022-04-08 04:22:28,716 INFO L272 TraceCheckUtils]: 11: Hoare triple {623#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {623#true} is VALID [2022-04-08 04:22:28,717 INFO L290 TraceCheckUtils]: 12: Hoare triple {623#true} ~cond := #in~cond; {664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:22:28,718 INFO L290 TraceCheckUtils]: 13: Hoare triple {664#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:22:28,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {668#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {668#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:22:28,719 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {668#(not (= |assume_abort_if_not_#in~cond| 0))} {623#true} #65#return; {675#(<= 1 main_~y~0)} is VALID [2022-04-08 04:22:28,719 INFO L290 TraceCheckUtils]: 16: Hoare triple {675#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:28,720 INFO L290 TraceCheckUtils]: 17: Hoare triple {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:28,720 INFO L272 TraceCheckUtils]: 18: Hoare triple {679#(and (= main_~r~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)); {623#true} is VALID [2022-04-08 04:22:28,720 INFO L290 TraceCheckUtils]: 19: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-08 04:22:28,720 INFO L290 TraceCheckUtils]: 20: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-08 04:22:28,720 INFO L290 TraceCheckUtils]: 21: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-08 04:22:28,721 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {623#true} {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {679#(and (= main_~r~0 0) (<= 1 main_~y~0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:28,722 INFO L272 TraceCheckUtils]: 23: Hoare triple {679#(and (= main_~r~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)); {701#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:22:28,723 INFO L290 TraceCheckUtils]: 24: Hoare triple {701#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {705#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:28,723 INFO L290 TraceCheckUtils]: 25: Hoare triple {705#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-08 04:22:28,724 INFO L290 TraceCheckUtils]: 26: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-08 04:22:28,724 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-08 04:22:28,724 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:22:28,724 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:22:28,724 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1949949846] [2022-04-08 04:22:28,724 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:22:28,725 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [297780085] [2022-04-08 04:22:28,725 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [297780085] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:28,725 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:28,725 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 04:22:28,725 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:22:28,725 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1697784244] [2022-04-08 04:22:28,725 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1697784244] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:28,726 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:28,726 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 04:22:28,726 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1764201746] [2022-04-08 04:22:28,726 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:22:28,726 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-08 04:22:28,727 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:22:28,727 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:22:28,747 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-08 04:22:28,747 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 04:22:28,747 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:28,748 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 04:22:28,748 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-08 04:22:28,748 INFO L87 Difference]: Start difference. First operand 42 states and 57 transitions. Second operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:22:29,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:29,154 INFO L93 Difference]: Finished difference Result 49 states and 63 transitions. [2022-04-08 04:22:29,154 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 04:22:29,154 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) Word has length 27 [2022-04-08 04:22:29,155 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:22:29,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:22:29,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-08 04:22:29,158 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:22:29,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-08 04:22:29,160 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 60 transitions. [2022-04-08 04:22:29,213 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:29,215 INFO L225 Difference]: With dead ends: 49 [2022-04-08 04:22:29,215 INFO L226 Difference]: Without dead ends: 47 [2022-04-08 04:22:29,216 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 28 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=22, Invalid=68, Unknown=0, NotChecked=0, Total=90 [2022-04-08 04:22:29,217 INFO L913 BasicCegarLoop]: 35 mSDtfsCounter, 17 mSDsluCounter, 126 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-08 04:22:29,225 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 161 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 124 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-08 04:22:29,225 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-08 04:22:29,261 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-08 04:22:29,261 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:22:29,262 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 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-08 04:22:29,265 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 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-08 04:22:29,266 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 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-08 04:22:29,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:29,274 INFO L93 Difference]: Finished difference Result 47 states and 61 transitions. [2022-04-08 04:22:29,274 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 61 transitions. [2022-04-08 04:22:29,277 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:29,278 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:29,278 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 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 47 states. [2022-04-08 04:22:29,278 INFO L87 Difference]: Start difference. First operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 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 47 states. [2022-04-08 04:22:29,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:29,280 INFO L93 Difference]: Finished difference Result 47 states and 61 transitions. [2022-04-08 04:22:29,280 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 61 transitions. [2022-04-08 04:22:29,280 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:29,281 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:29,281 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:22:29,281 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:22:29,281 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 23 states have (on average 1.2173913043478262) internal successors, (28), 25 states have internal predecessors, (28), 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-08 04:22:29,283 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 60 transitions. [2022-04-08 04:22:29,283 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 60 transitions. Word has length 27 [2022-04-08 04:22:29,284 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:22:29,284 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 60 transitions. [2022-04-08 04:22:29,284 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.125) internal successors, (17), 6 states have internal predecessors, (17), 2 states have call successors, (6), 2 states have call predecessors, (6), 2 states have return successors, (4), 3 states have call predecessors, (4), 2 states have call successors, (4) [2022-04-08 04:22:29,284 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 60 transitions. [2022-04-08 04:22:29,339 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:29,339 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 60 transitions. [2022-04-08 04:22:29,340 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-08 04:22:29,340 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:22:29,341 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] [2022-04-08 04:22:29,360 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2022-04-08 04:22:29,555 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable2 [2022-04-08 04:22:29,556 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:22:29,556 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:22:29,556 INFO L85 PathProgramCache]: Analyzing trace with hash 1028398105, now seen corresponding path program 1 times [2022-04-08 04:22:29,556 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:29,556 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2057858238] [2022-04-08 04:22:29,557 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:22:29,557 INFO L85 PathProgramCache]: Analyzing trace with hash 1028398105, now seen corresponding path program 2 times [2022-04-08 04:22:29,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:22:29,557 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [209334526] [2022-04-08 04:22:29,558 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:22:29,558 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:22:29,573 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:22:29,574 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2000373934] [2022-04-08 04:22:29,574 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:22:29,574 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:29,574 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:22:29,577 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:22:29,577 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-08 04:22:29,617 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:22:29,617 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:22:29,618 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-08 04:22:29,633 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:29,634 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:22:29,835 INFO L272 TraceCheckUtils]: 0: Hoare triple {999#true} call ULTIMATE.init(); {999#true} is VALID [2022-04-08 04:22:29,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {999#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); {999#true} is VALID [2022-04-08 04:22:29,836 INFO L290 TraceCheckUtils]: 2: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-08 04:22:29,836 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {999#true} {999#true} #81#return; {999#true} is VALID [2022-04-08 04:22:29,836 INFO L272 TraceCheckUtils]: 4: Hoare triple {999#true} call #t~ret6 := main(); {999#true} is VALID [2022-04-08 04:22:29,836 INFO L290 TraceCheckUtils]: 5: Hoare triple {999#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; {999#true} is VALID [2022-04-08 04:22:29,836 INFO L272 TraceCheckUtils]: 6: Hoare triple {999#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {999#true} is VALID [2022-04-08 04:22:29,837 INFO L290 TraceCheckUtils]: 7: Hoare triple {999#true} ~cond := #in~cond; {1025#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:22:29,837 INFO L290 TraceCheckUtils]: 8: Hoare triple {1025#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1029#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:22:29,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {1029#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1029#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:22:29,838 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1029#(not (= |assume_abort_if_not_#in~cond| 0))} {999#true} #63#return; {1036#(<= 1 main_~x~0)} is VALID [2022-04-08 04:22:29,839 INFO L272 TraceCheckUtils]: 11: Hoare triple {1036#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {999#true} is VALID [2022-04-08 04:22:29,839 INFO L290 TraceCheckUtils]: 12: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-08 04:22:29,839 INFO L290 TraceCheckUtils]: 13: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-08 04:22:29,839 INFO L290 TraceCheckUtils]: 14: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-08 04:22:29,839 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {999#true} {1036#(<= 1 main_~x~0)} #65#return; {1036#(<= 1 main_~x~0)} is VALID [2022-04-08 04:22:29,840 INFO L290 TraceCheckUtils]: 16: Hoare triple {1036#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:22:29,840 INFO L290 TraceCheckUtils]: 17: Hoare triple {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:22:29,840 INFO L272 TraceCheckUtils]: 18: Hoare triple {1055#(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)); {999#true} is VALID [2022-04-08 04:22:29,842 INFO L290 TraceCheckUtils]: 19: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-08 04:22:29,842 INFO L290 TraceCheckUtils]: 20: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-08 04:22:29,842 INFO L290 TraceCheckUtils]: 21: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-08 04:22:29,843 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {999#true} {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #67#return; {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:22:29,843 INFO L272 TraceCheckUtils]: 23: Hoare triple {1055#(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)); {999#true} is VALID [2022-04-08 04:22:29,843 INFO L290 TraceCheckUtils]: 24: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-08 04:22:29,843 INFO L290 TraceCheckUtils]: 25: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-08 04:22:29,844 INFO L290 TraceCheckUtils]: 26: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-08 04:22:29,844 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {999#true} {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #69#return; {1055#(and (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:22:29,845 INFO L272 TraceCheckUtils]: 28: Hoare triple {1055#(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)); {1092#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:22:29,845 INFO L290 TraceCheckUtils]: 29: Hoare triple {1092#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1096#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:29,846 INFO L290 TraceCheckUtils]: 30: Hoare triple {1096#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1000#false} is VALID [2022-04-08 04:22:29,846 INFO L290 TraceCheckUtils]: 31: Hoare triple {1000#false} assume !false; {1000#false} is VALID [2022-04-08 04:22:29,846 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-08 04:22:29,846 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:22:30,041 INFO L290 TraceCheckUtils]: 31: Hoare triple {1000#false} assume !false; {1000#false} is VALID [2022-04-08 04:22:30,041 INFO L290 TraceCheckUtils]: 30: Hoare triple {1096#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1000#false} is VALID [2022-04-08 04:22:30,041 INFO L290 TraceCheckUtils]: 29: Hoare triple {1092#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1096#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:30,043 INFO L272 TraceCheckUtils]: 28: Hoare triple {1112#(= 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)); {1092#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:22:30,044 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {999#true} {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #69#return; {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:22:30,044 INFO L290 TraceCheckUtils]: 26: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-08 04:22:30,044 INFO L290 TraceCheckUtils]: 25: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-08 04:22:30,044 INFO L290 TraceCheckUtils]: 24: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-08 04:22:30,044 INFO L272 TraceCheckUtils]: 23: Hoare triple {1112#(= 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)); {999#true} is VALID [2022-04-08 04:22:30,046 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {999#true} {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #67#return; {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:22:30,046 INFO L290 TraceCheckUtils]: 21: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-08 04:22:30,047 INFO L290 TraceCheckUtils]: 20: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-08 04:22:30,047 INFO L290 TraceCheckUtils]: 19: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-08 04:22:30,047 INFO L272 TraceCheckUtils]: 18: Hoare triple {1112#(= 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)); {999#true} is VALID [2022-04-08 04:22:30,050 INFO L290 TraceCheckUtils]: 17: Hoare triple {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:22:30,050 INFO L290 TraceCheckUtils]: 16: Hoare triple {999#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1112#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:22:30,050 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {999#true} {999#true} #65#return; {999#true} is VALID [2022-04-08 04:22:30,050 INFO L290 TraceCheckUtils]: 14: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-08 04:22:30,050 INFO L290 TraceCheckUtils]: 13: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-08 04:22:30,050 INFO L290 TraceCheckUtils]: 12: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-08 04:22:30,051 INFO L272 TraceCheckUtils]: 11: Hoare triple {999#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {999#true} is VALID [2022-04-08 04:22:30,051 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {999#true} {999#true} #63#return; {999#true} is VALID [2022-04-08 04:22:30,051 INFO L290 TraceCheckUtils]: 9: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-08 04:22:30,051 INFO L290 TraceCheckUtils]: 8: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-08 04:22:30,051 INFO L290 TraceCheckUtils]: 7: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-08 04:22:30,051 INFO L272 TraceCheckUtils]: 6: Hoare triple {999#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {999#true} is VALID [2022-04-08 04:22:30,051 INFO L290 TraceCheckUtils]: 5: Hoare triple {999#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; {999#true} is VALID [2022-04-08 04:22:30,051 INFO L272 TraceCheckUtils]: 4: Hoare triple {999#true} call #t~ret6 := main(); {999#true} is VALID [2022-04-08 04:22:30,051 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {999#true} {999#true} #81#return; {999#true} is VALID [2022-04-08 04:22:30,051 INFO L290 TraceCheckUtils]: 2: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-08 04:22:30,052 INFO L290 TraceCheckUtils]: 1: Hoare triple {999#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); {999#true} is VALID [2022-04-08 04:22:30,052 INFO L272 TraceCheckUtils]: 0: Hoare triple {999#true} call ULTIMATE.init(); {999#true} is VALID [2022-04-08 04:22:30,052 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-08 04:22:30,052 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:22:30,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [209334526] [2022-04-08 04:22:30,052 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:22:30,052 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2000373934] [2022-04-08 04:22:30,052 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2000373934] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 04:22:30,053 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:22:30,053 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-08 04:22:30,053 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:22:30,053 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2057858238] [2022-04-08 04:22:30,053 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2057858238] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:30,053 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:30,053 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:22:30,053 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1281456743] [2022-04-08 04:22:30,053 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:22:30,054 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (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 32 [2022-04-08 04:22:30,054 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:22:30,054 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (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-08 04:22:30,070 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:30,070 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:22:30,070 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:30,070 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:22:30,071 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-08 04:22:30,071 INFO L87 Difference]: Start difference. First operand 46 states and 60 transitions. Second operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (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-08 04:22:30,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:30,268 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-08 04:22:30,268 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:22:30,269 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (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 32 [2022-04-08 04:22:30,271 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:22:30,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (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-08 04:22:30,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 04:22:30,275 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (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-08 04:22:30,278 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-08 04:22:30,279 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-08 04:22:30,323 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:30,326 INFO L225 Difference]: With dead ends: 71 [2022-04-08 04:22:30,326 INFO L226 Difference]: Without dead ends: 67 [2022-04-08 04:22:30,327 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 55 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-08 04:22:30,328 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 8 mSDsluCounter, 81 mSDsCounter, 0 mSdLazyCounter, 51 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 12 SdHoareTripleChecker+Valid, 120 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-08 04:22:30,328 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [12 Valid, 120 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 51 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:22:30,328 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-08 04:22:30,372 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 67. [2022-04-08 04:22:30,372 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:22:30,372 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 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-08 04:22:30,374 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 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-08 04:22:30,375 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 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-08 04:22:30,378 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:30,378 INFO L93 Difference]: Finished difference Result 67 states and 93 transitions. [2022-04-08 04:22:30,378 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 93 transitions. [2022-04-08 04:22:30,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:30,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:30,379 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 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 67 states. [2022-04-08 04:22:30,380 INFO L87 Difference]: Start difference. First operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 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 67 states. [2022-04-08 04:22:30,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:30,383 INFO L93 Difference]: Finished difference Result 67 states and 93 transitions. [2022-04-08 04:22:30,383 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 93 transitions. [2022-04-08 04:22:30,384 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:30,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:30,385 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:22:30,385 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:22:30,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 32 states have (on average 1.28125) internal successors, (41), 36 states have internal predecessors, (41), 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-08 04:22:30,387 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 93 transitions. [2022-04-08 04:22:30,387 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 93 transitions. Word has length 32 [2022-04-08 04:22:30,388 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:22:30,388 INFO L478 AbstractCegarLoop]: Abstraction has 67 states and 93 transitions. [2022-04-08 04:22:30,388 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.8) internal successors, (14), 4 states have internal predecessors, (14), 2 states have call successors, (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-08 04:22:30,388 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 93 transitions. [2022-04-08 04:22:30,503 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:30,503 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 93 transitions. [2022-04-08 04:22:30,504 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-08 04:22:30,504 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:22:30,504 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] [2022-04-08 04:22:30,523 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-08 04:22:30,704 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:30,705 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:22:30,705 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:22:30,706 INFO L85 PathProgramCache]: Analyzing trace with hash -134474469, now seen corresponding path program 1 times [2022-04-08 04:22:30,706 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:30,706 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1569655019] [2022-04-08 04:22:30,706 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:22:30,706 INFO L85 PathProgramCache]: Analyzing trace with hash -134474469, now seen corresponding path program 2 times [2022-04-08 04:22:30,706 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:22:30,707 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [806165104] [2022-04-08 04:22:30,707 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:22:30,707 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:22:30,741 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:22:30,741 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1774561487] [2022-04-08 04:22:30,741 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:22:30,741 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:30,741 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:22:30,748 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:22:30,749 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-08 04:22:30,787 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:22:30,788 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:22:30,788 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-08 04:22:30,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:30,800 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:22:30,903 INFO L272 TraceCheckUtils]: 0: Hoare triple {1611#true} call ULTIMATE.init(); {1611#true} is VALID [2022-04-08 04:22:30,903 INFO L290 TraceCheckUtils]: 1: Hoare triple {1611#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); {1611#true} is VALID [2022-04-08 04:22:30,903 INFO L290 TraceCheckUtils]: 2: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-08 04:22:30,903 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1611#true} {1611#true} #81#return; {1611#true} is VALID [2022-04-08 04:22:30,904 INFO L272 TraceCheckUtils]: 4: Hoare triple {1611#true} call #t~ret6 := main(); {1611#true} is VALID [2022-04-08 04:22:30,904 INFO L290 TraceCheckUtils]: 5: Hoare triple {1611#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; {1611#true} is VALID [2022-04-08 04:22:30,904 INFO L272 TraceCheckUtils]: 6: Hoare triple {1611#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {1611#true} is VALID [2022-04-08 04:22:30,904 INFO L290 TraceCheckUtils]: 7: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-08 04:22:30,904 INFO L290 TraceCheckUtils]: 8: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-08 04:22:30,904 INFO L290 TraceCheckUtils]: 9: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-08 04:22:30,904 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1611#true} {1611#true} #63#return; {1611#true} is VALID [2022-04-08 04:22:30,904 INFO L272 TraceCheckUtils]: 11: Hoare triple {1611#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {1611#true} is VALID [2022-04-08 04:22:30,904 INFO L290 TraceCheckUtils]: 12: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-08 04:22:30,904 INFO L290 TraceCheckUtils]: 13: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-08 04:22:30,904 INFO L290 TraceCheckUtils]: 14: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-08 04:22:30,905 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1611#true} {1611#true} #65#return; {1611#true} is VALID [2022-04-08 04:22:30,905 INFO L290 TraceCheckUtils]: 16: Hoare triple {1611#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {1611#true} is VALID [2022-04-08 04:22:30,905 INFO L290 TraceCheckUtils]: 17: Hoare triple {1611#true} assume !false; {1611#true} is VALID [2022-04-08 04:22:30,905 INFO L272 TraceCheckUtils]: 18: Hoare triple {1611#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {1611#true} is VALID [2022-04-08 04:22:30,905 INFO L290 TraceCheckUtils]: 19: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-08 04:22:30,905 INFO L290 TraceCheckUtils]: 20: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-08 04:22:30,905 INFO L290 TraceCheckUtils]: 21: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-08 04:22:30,905 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1611#true} {1611#true} #67#return; {1611#true} is VALID [2022-04-08 04:22:30,905 INFO L272 TraceCheckUtils]: 23: Hoare triple {1611#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {1611#true} is VALID [2022-04-08 04:22:30,905 INFO L290 TraceCheckUtils]: 24: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-08 04:22:30,905 INFO L290 TraceCheckUtils]: 25: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-08 04:22:30,905 INFO L290 TraceCheckUtils]: 26: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-08 04:22:30,906 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1611#true} {1611#true} #69#return; {1611#true} is VALID [2022-04-08 04:22:30,906 INFO L272 TraceCheckUtils]: 28: Hoare triple {1611#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {1611#true} is VALID [2022-04-08 04:22:30,906 INFO L290 TraceCheckUtils]: 29: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-08 04:22:30,906 INFO L290 TraceCheckUtils]: 30: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-08 04:22:30,907 INFO L290 TraceCheckUtils]: 31: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-08 04:22:30,907 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1611#true} {1611#true} #71#return; {1611#true} is VALID [2022-04-08 04:22:30,907 INFO L290 TraceCheckUtils]: 33: Hoare triple {1611#true} assume !(~a~0 != ~b~0); {1715#(= main_~b~0 main_~a~0)} is VALID [2022-04-08 04:22:30,908 INFO L272 TraceCheckUtils]: 34: Hoare triple {1715#(= main_~b~0 main_~a~0)} call __VERIFIER_assert((if 0 == ~a~0 - ~b~0 then 1 else 0)); {1719#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:22:30,908 INFO L290 TraceCheckUtils]: 35: Hoare triple {1719#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1723#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:30,909 INFO L290 TraceCheckUtils]: 36: Hoare triple {1723#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1612#false} is VALID [2022-04-08 04:22:30,909 INFO L290 TraceCheckUtils]: 37: Hoare triple {1612#false} assume !false; {1612#false} is VALID [2022-04-08 04:22:30,909 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-08 04:22:30,909 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:22:30,909 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:22:30,911 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [806165104] [2022-04-08 04:22:30,911 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:22:30,911 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1774561487] [2022-04-08 04:22:30,911 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1774561487] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:30,912 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:30,912 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:22:30,912 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:22:30,912 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1569655019] [2022-04-08 04:22:30,912 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1569655019] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:30,912 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:30,912 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:22:30,912 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1907215771] [2022-04-08 04:22:30,912 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:22:30,913 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 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 38 [2022-04-08 04:22:30,914 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:22:30,914 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 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-08 04:22:30,947 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 29 edges. 29 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:30,947 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:22:30,947 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:30,947 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:22:30,948 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 04:22:30,948 INFO L87 Difference]: Start difference. First operand 67 states and 93 transitions. Second operand has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 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-08 04:22:31,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:31,095 INFO L93 Difference]: Finished difference Result 73 states and 98 transitions. [2022-04-08 04:22:31,095 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:22:31,095 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 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 38 [2022-04-08 04:22:31,095 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:22:31,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 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-08 04:22:31,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-08 04:22:31,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 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-08 04:22:31,097 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-08 04:22:31,097 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2022-04-08 04:22:31,121 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:31,122 INFO L225 Difference]: With dead ends: 73 [2022-04-08 04:22:31,123 INFO L226 Difference]: Without dead ends: 71 [2022-04-08 04:22:31,123 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 34 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-08 04:22:31,123 INFO L913 BasicCegarLoop]: 37 mSDtfsCounter, 5 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 30 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 119 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 30 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:22:31,124 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 119 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 30 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:22:31,124 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-08 04:22:31,161 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-08 04:22:31,161 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:22:31,162 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 04:22:31,162 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 04:22:31,162 INFO L87 Difference]: Start difference. First operand 71 states. Second operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 04:22:31,166 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:31,167 INFO L93 Difference]: Finished difference Result 71 states and 96 transitions. [2022-04-08 04:22:31,167 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 96 transitions. [2022-04-08 04:22:31,167 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:31,167 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:31,167 INFO L74 IsIncluded]: Start isIncluded. First operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-08 04:22:31,168 INFO L87 Difference]: Start difference. First operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) Second operand 71 states. [2022-04-08 04:22:31,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:31,170 INFO L93 Difference]: Finished difference Result 71 states and 96 transitions. [2022-04-08 04:22:31,170 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 96 transitions. [2022-04-08 04:22:31,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:31,171 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:31,171 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:22:31,171 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:22:31,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 71 states, 35 states have (on average 1.2571428571428571) internal successors, (44), 39 states have internal predecessors, (44), 28 states have call successors, (28), 8 states have call predecessors, (28), 7 states have return successors, (24), 23 states have call predecessors, (24), 24 states have call successors, (24) [2022-04-08 04:22:31,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 96 transitions. [2022-04-08 04:22:31,175 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 96 transitions. Word has length 38 [2022-04-08 04:22:31,175 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:22:31,175 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 96 transitions. [2022-04-08 04:22:31,175 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.75) internal successors, (15), 4 states have internal predecessors, (15), 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-08 04:22:31,175 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 96 transitions. [2022-04-08 04:22:31,273 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-08 04:22:31,273 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 96 transitions. [2022-04-08 04:22:31,275 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-08 04:22:31,275 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:22:31,275 INFO L499 BasicCegarLoop]: trace histogram [4, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:22:31,294 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-08 04:22:31,487 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:31,487 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:22:31,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:22:31,488 INFO L85 PathProgramCache]: Analyzing trace with hash 251096952, now seen corresponding path program 1 times [2022-04-08 04:22:31,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:31,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [825177191] [2022-04-08 04:22:31,488 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:22:31,488 INFO L85 PathProgramCache]: Analyzing trace with hash 251096952, now seen corresponding path program 2 times [2022-04-08 04:22:31,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:22:31,489 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1699509927] [2022-04-08 04:22:31,489 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:22:31,489 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:22:31,500 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:22:31,500 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2071900523] [2022-04-08 04:22:31,500 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:22:31,501 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:31,501 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:22:31,501 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:22:31,502 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-08 04:22:31,533 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:22:31,534 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:22:31,534 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-08 04:22:31,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:31,544 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:22:31,688 INFO L272 TraceCheckUtils]: 0: Hoare triple {2161#true} call ULTIMATE.init(); {2161#true} is VALID [2022-04-08 04:22:31,689 INFO L290 TraceCheckUtils]: 1: Hoare triple {2161#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); {2161#true} is VALID [2022-04-08 04:22:31,689 INFO L290 TraceCheckUtils]: 2: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-08 04:22:31,689 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2161#true} {2161#true} #81#return; {2161#true} is VALID [2022-04-08 04:22:31,689 INFO L272 TraceCheckUtils]: 4: Hoare triple {2161#true} call #t~ret6 := main(); {2161#true} is VALID [2022-04-08 04:22:31,689 INFO L290 TraceCheckUtils]: 5: Hoare triple {2161#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; {2161#true} is VALID [2022-04-08 04:22:31,689 INFO L272 TraceCheckUtils]: 6: Hoare triple {2161#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2161#true} is VALID [2022-04-08 04:22:31,689 INFO L290 TraceCheckUtils]: 7: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-08 04:22:31,689 INFO L290 TraceCheckUtils]: 8: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-08 04:22:31,689 INFO L290 TraceCheckUtils]: 9: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-08 04:22:31,689 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2161#true} {2161#true} #63#return; {2161#true} is VALID [2022-04-08 04:22:31,690 INFO L272 TraceCheckUtils]: 11: Hoare triple {2161#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2161#true} is VALID [2022-04-08 04:22:31,690 INFO L290 TraceCheckUtils]: 12: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-08 04:22:31,690 INFO L290 TraceCheckUtils]: 13: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-08 04:22:31,690 INFO L290 TraceCheckUtils]: 14: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-08 04:22:31,690 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2161#true} {2161#true} #65#return; {2161#true} is VALID [2022-04-08 04:22:31,690 INFO L290 TraceCheckUtils]: 16: Hoare triple {2161#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:31,691 INFO L290 TraceCheckUtils]: 17: Hoare triple {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:31,691 INFO L272 TraceCheckUtils]: 18: Hoare triple {2214#(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)); {2161#true} is VALID [2022-04-08 04:22:31,691 INFO L290 TraceCheckUtils]: 19: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-08 04:22:31,691 INFO L290 TraceCheckUtils]: 20: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-08 04:22:31,691 INFO L290 TraceCheckUtils]: 21: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-08 04:22:31,692 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2161#true} {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #67#return; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:31,692 INFO L272 TraceCheckUtils]: 23: Hoare triple {2214#(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)); {2161#true} is VALID [2022-04-08 04:22:31,692 INFO L290 TraceCheckUtils]: 24: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-08 04:22:31,692 INFO L290 TraceCheckUtils]: 25: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-08 04:22:31,692 INFO L290 TraceCheckUtils]: 26: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-08 04:22:31,692 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2161#true} {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #69#return; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:31,693 INFO L272 TraceCheckUtils]: 28: Hoare triple {2214#(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)); {2161#true} is VALID [2022-04-08 04:22:31,693 INFO L290 TraceCheckUtils]: 29: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-08 04:22:31,693 INFO L290 TraceCheckUtils]: 30: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-08 04:22:31,693 INFO L290 TraceCheckUtils]: 31: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-08 04:22:31,693 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2161#true} {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #71#return; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:31,694 INFO L290 TraceCheckUtils]: 33: Hoare triple {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:31,694 INFO L290 TraceCheckUtils]: 34: Hoare triple {2214#(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; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:31,694 INFO L290 TraceCheckUtils]: 35: Hoare triple {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {2214#(and (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:31,695 INFO L272 TraceCheckUtils]: 36: Hoare triple {2214#(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)); {2275#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:22:31,695 INFO L290 TraceCheckUtils]: 37: Hoare triple {2275#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2279#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:31,696 INFO L290 TraceCheckUtils]: 38: Hoare triple {2279#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2162#false} is VALID [2022-04-08 04:22:31,696 INFO L290 TraceCheckUtils]: 39: Hoare triple {2162#false} assume !false; {2162#false} is VALID [2022-04-08 04:22:31,696 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 18 trivial. 0 not checked. [2022-04-08 04:22:31,696 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-08 04:22:31,696 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:22:31,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1699509927] [2022-04-08 04:22:31,696 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:22:31,696 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2071900523] [2022-04-08 04:22:31,696 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2071900523] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:31,696 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:31,696 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:22:31,697 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:22:31,697 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [825177191] [2022-04-08 04:22:31,697 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [825177191] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:31,697 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:31,697 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:22:31,697 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [467755988] [2022-04-08 04:22:31,697 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:22:31,697 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) 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), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 40 [2022-04-08 04:22:31,697 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:22:31,698 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.2) 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), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 04:22:31,715 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:31,715 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:22:31,715 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:31,715 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:22:31,715 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-08 04:22:31,716 INFO L87 Difference]: Start difference. First operand 71 states and 96 transitions. Second operand has 5 states, 5 states have (on average 3.2) 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), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 04:22:31,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:31,908 INFO L93 Difference]: Finished difference Result 81 states and 104 transitions. [2022-04-08 04:22:31,908 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:22:31,908 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 3.2) 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), 2 states have call predecessors, (6), 2 states have call successors, (6) Word has length 40 [2022-04-08 04:22:31,909 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:22:31,909 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) 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), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 04:22:31,910 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-08 04:22:31,910 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.2) 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), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 04:22:31,911 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-08 04:22:31,911 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-08 04:22:31,953 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-08 04:22:31,955 INFO L225 Difference]: With dead ends: 81 [2022-04-08 04:22:31,955 INFO L226 Difference]: Without dead ends: 78 [2022-04-08 04:22:31,955 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 35 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-08 04:22:31,956 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 6 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 39 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 8 SdHoareTripleChecker+Valid, 126 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 39 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:22:31,956 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [8 Valid, 126 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 39 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:22:31,956 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2022-04-08 04:22:31,993 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 76. [2022-04-08 04:22:31,993 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:22:31,994 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 04:22:31,994 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 04:22:31,994 INFO L87 Difference]: Start difference. First operand 78 states. Second operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 04:22:31,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:31,996 INFO L93 Difference]: Finished difference Result 78 states and 100 transitions. [2022-04-08 04:22:31,996 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 100 transitions. [2022-04-08 04:22:31,997 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:31,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:31,997 INFO L74 IsIncluded]: Start isIncluded. First operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 78 states. [2022-04-08 04:22:31,997 INFO L87 Difference]: Start difference. First operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) Second operand 78 states. [2022-04-08 04:22:32,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:32,000 INFO L93 Difference]: Finished difference Result 78 states and 100 transitions. [2022-04-08 04:22:32,000 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 100 transitions. [2022-04-08 04:22:32,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:32,000 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:32,000 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:22:32,000 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:22:32,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 76 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 44 states have internal predecessors, (50), 25 states have call successors, (25), 10 states have call predecessors, (25), 9 states have return successors, (22), 21 states have call predecessors, (22), 22 states have call successors, (22) [2022-04-08 04:22:32,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 97 transitions. [2022-04-08 04:22:32,003 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 97 transitions. Word has length 40 [2022-04-08 04:22:32,003 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:22:32,003 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 97 transitions. [2022-04-08 04:22:32,003 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.2) 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), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-08 04:22:32,003 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 97 transitions. [2022-04-08 04:22:32,113 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-08 04:22:32,113 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 97 transitions. [2022-04-08 04:22:32,114 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-08 04:22:32,114 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:22:32,114 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] [2022-04-08 04:22:32,131 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-08 04:22:32,318 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:32,318 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:22:32,318 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:22:32,318 INFO L85 PathProgramCache]: Analyzing trace with hash -1098226535, now seen corresponding path program 1 times [2022-04-08 04:22:32,318 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:32,319 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1169565892] [2022-04-08 04:22:32,319 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:22:32,319 INFO L85 PathProgramCache]: Analyzing trace with hash -1098226535, now seen corresponding path program 2 times [2022-04-08 04:22:32,319 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:22:32,319 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1857944673] [2022-04-08 04:22:32,319 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:22:32,319 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:22:32,329 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:22:32,329 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1939372717] [2022-04-08 04:22:32,329 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:22:32,329 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:32,329 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:22:32,330 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:22:32,331 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-08 04:22:32,365 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:22:32,365 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:22:32,366 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-08 04:22:32,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:32,380 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:22:32,511 INFO L272 TraceCheckUtils]: 0: Hoare triple {2757#true} call ULTIMATE.init(); {2757#true} is VALID [2022-04-08 04:22:32,512 INFO L290 TraceCheckUtils]: 1: Hoare triple {2757#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); {2757#true} is VALID [2022-04-08 04:22:32,512 INFO L290 TraceCheckUtils]: 2: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-08 04:22:32,512 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2757#true} {2757#true} #81#return; {2757#true} is VALID [2022-04-08 04:22:32,512 INFO L272 TraceCheckUtils]: 4: Hoare triple {2757#true} call #t~ret6 := main(); {2757#true} is VALID [2022-04-08 04:22:32,512 INFO L290 TraceCheckUtils]: 5: Hoare triple {2757#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; {2757#true} is VALID [2022-04-08 04:22:32,512 INFO L272 TraceCheckUtils]: 6: Hoare triple {2757#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2757#true} is VALID [2022-04-08 04:22:32,512 INFO L290 TraceCheckUtils]: 7: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-08 04:22:32,512 INFO L290 TraceCheckUtils]: 8: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-08 04:22:32,512 INFO L290 TraceCheckUtils]: 9: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-08 04:22:32,512 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2757#true} {2757#true} #63#return; {2757#true} is VALID [2022-04-08 04:22:32,512 INFO L272 TraceCheckUtils]: 11: Hoare triple {2757#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2757#true} is VALID [2022-04-08 04:22:32,513 INFO L290 TraceCheckUtils]: 12: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-08 04:22:32,513 INFO L290 TraceCheckUtils]: 13: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-08 04:22:32,513 INFO L290 TraceCheckUtils]: 14: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-08 04:22:32,513 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2757#true} {2757#true} #65#return; {2757#true} is VALID [2022-04-08 04:22:32,513 INFO L290 TraceCheckUtils]: 16: Hoare triple {2757#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2757#true} is VALID [2022-04-08 04:22:32,513 INFO L290 TraceCheckUtils]: 17: Hoare triple {2757#true} assume !false; {2757#true} is VALID [2022-04-08 04:22:32,513 INFO L272 TraceCheckUtils]: 18: Hoare triple {2757#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2757#true} is VALID [2022-04-08 04:22:32,513 INFO L290 TraceCheckUtils]: 19: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-08 04:22:32,513 INFO L290 TraceCheckUtils]: 20: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-08 04:22:32,513 INFO L290 TraceCheckUtils]: 21: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-08 04:22:32,513 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2757#true} {2757#true} #67#return; {2757#true} is VALID [2022-04-08 04:22:32,513 INFO L272 TraceCheckUtils]: 23: Hoare triple {2757#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2757#true} is VALID [2022-04-08 04:22:32,514 INFO L290 TraceCheckUtils]: 24: Hoare triple {2757#true} ~cond := #in~cond; {2834#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:32,514 INFO L290 TraceCheckUtils]: 25: Hoare triple {2834#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:22:32,515 INFO L290 TraceCheckUtils]: 26: Hoare triple {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:22:32,517 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} {2757#true} #69#return; {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:22:32,517 INFO L272 TraceCheckUtils]: 28: Hoare triple {2845#(= 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)); {2757#true} is VALID [2022-04-08 04:22:32,517 INFO L290 TraceCheckUtils]: 29: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-08 04:22:32,517 INFO L290 TraceCheckUtils]: 30: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-08 04:22:32,517 INFO L290 TraceCheckUtils]: 31: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-08 04:22:32,519 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2757#true} {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #71#return; {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:22:32,519 INFO L290 TraceCheckUtils]: 33: Hoare triple {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:22:32,519 INFO L272 TraceCheckUtils]: 34: Hoare triple {2864#(= 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)); {2757#true} is VALID [2022-04-08 04:22:32,519 INFO L290 TraceCheckUtils]: 35: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-08 04:22:32,519 INFO L290 TraceCheckUtils]: 36: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-08 04:22:32,519 INFO L290 TraceCheckUtils]: 37: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-08 04:22:32,520 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2757#true} {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #73#return; {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:22:32,520 INFO L272 TraceCheckUtils]: 39: Hoare triple {2864#(= 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)); {2883#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:22:32,521 INFO L290 TraceCheckUtils]: 40: Hoare triple {2883#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2887#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:32,521 INFO L290 TraceCheckUtils]: 41: Hoare triple {2887#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2758#false} is VALID [2022-04-08 04:22:32,521 INFO L290 TraceCheckUtils]: 42: Hoare triple {2758#false} assume !false; {2758#false} is VALID [2022-04-08 04:22:32,521 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-08 04:22:32,521 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:22:49,246 INFO L290 TraceCheckUtils]: 42: Hoare triple {2758#false} assume !false; {2758#false} is VALID [2022-04-08 04:22:49,247 INFO L290 TraceCheckUtils]: 41: Hoare triple {2887#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2758#false} is VALID [2022-04-08 04:22:49,247 INFO L290 TraceCheckUtils]: 40: Hoare triple {2883#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2887#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:49,248 INFO L272 TraceCheckUtils]: 39: Hoare triple {2864#(= 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)); {2883#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:22:49,249 INFO L284 TraceCheckUtils]: 38: Hoare quadruple {2757#true} {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #73#return; {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:22:49,249 INFO L290 TraceCheckUtils]: 37: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-08 04:22:49,249 INFO L290 TraceCheckUtils]: 36: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-08 04:22:49,249 INFO L290 TraceCheckUtils]: 35: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-08 04:22:49,249 INFO L272 TraceCheckUtils]: 34: Hoare triple {2864#(= 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)); {2757#true} is VALID [2022-04-08 04:22:49,250 INFO L290 TraceCheckUtils]: 33: Hoare triple {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !(~a~0 != ~b~0); {2864#(= main_~b~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:22:49,251 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {2757#true} {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #71#return; {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:22:49,251 INFO L290 TraceCheckUtils]: 31: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-08 04:22:49,251 INFO L290 TraceCheckUtils]: 30: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-08 04:22:49,251 INFO L290 TraceCheckUtils]: 29: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-08 04:22:49,251 INFO L272 TraceCheckUtils]: 28: Hoare triple {2845#(= 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)); {2757#true} is VALID [2022-04-08 04:22:49,252 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} {2757#true} #69#return; {2845#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:22:49,252 INFO L290 TraceCheckUtils]: 26: Hoare triple {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:22:49,253 INFO L290 TraceCheckUtils]: 25: Hoare triple {2948#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {2838#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:22:49,253 INFO L290 TraceCheckUtils]: 24: Hoare triple {2757#true} ~cond := #in~cond; {2948#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:22:49,253 INFO L272 TraceCheckUtils]: 23: Hoare triple {2757#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {2757#true} is VALID [2022-04-08 04:22:49,253 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2757#true} {2757#true} #67#return; {2757#true} is VALID [2022-04-08 04:22:49,253 INFO L290 TraceCheckUtils]: 21: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-08 04:22:49,253 INFO L290 TraceCheckUtils]: 20: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-08 04:22:49,253 INFO L290 TraceCheckUtils]: 19: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-08 04:22:49,253 INFO L272 TraceCheckUtils]: 18: Hoare triple {2757#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {2757#true} is VALID [2022-04-08 04:22:49,254 INFO L290 TraceCheckUtils]: 17: Hoare triple {2757#true} assume !false; {2757#true} is VALID [2022-04-08 04:22:49,254 INFO L290 TraceCheckUtils]: 16: Hoare triple {2757#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {2757#true} is VALID [2022-04-08 04:22:49,254 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2757#true} {2757#true} #65#return; {2757#true} is VALID [2022-04-08 04:22:49,254 INFO L290 TraceCheckUtils]: 14: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-08 04:22:49,254 INFO L290 TraceCheckUtils]: 13: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-08 04:22:49,254 INFO L290 TraceCheckUtils]: 12: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-08 04:22:49,254 INFO L272 TraceCheckUtils]: 11: Hoare triple {2757#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {2757#true} is VALID [2022-04-08 04:22:49,254 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2757#true} {2757#true} #63#return; {2757#true} is VALID [2022-04-08 04:22:49,254 INFO L290 TraceCheckUtils]: 9: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-08 04:22:49,255 INFO L290 TraceCheckUtils]: 8: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-08 04:22:49,255 INFO L290 TraceCheckUtils]: 7: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-08 04:22:49,255 INFO L272 TraceCheckUtils]: 6: Hoare triple {2757#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {2757#true} is VALID [2022-04-08 04:22:49,255 INFO L290 TraceCheckUtils]: 5: Hoare triple {2757#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; {2757#true} is VALID [2022-04-08 04:22:49,255 INFO L272 TraceCheckUtils]: 4: Hoare triple {2757#true} call #t~ret6 := main(); {2757#true} is VALID [2022-04-08 04:22:49,255 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2757#true} {2757#true} #81#return; {2757#true} is VALID [2022-04-08 04:22:49,255 INFO L290 TraceCheckUtils]: 2: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-08 04:22:49,255 INFO L290 TraceCheckUtils]: 1: Hoare triple {2757#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); {2757#true} is VALID [2022-04-08 04:22:49,255 INFO L272 TraceCheckUtils]: 0: Hoare triple {2757#true} call ULTIMATE.init(); {2757#true} is VALID [2022-04-08 04:22:49,256 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-08 04:22:49,256 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:22:49,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1857944673] [2022-04-08 04:22:49,256 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:22:49,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1939372717] [2022-04-08 04:22:49,256 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1939372717] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:22:49,256 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:22:49,256 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-08 04:22:49,256 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:22:49,256 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1169565892] [2022-04-08 04:22:49,256 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1169565892] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:22:49,256 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:22:49,257 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 04:22:49,257 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2083549322] [2022-04-08 04:22:49,257 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:22:49,257 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 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 43 [2022-04-08 04:22:49,257 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:22:49,257 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 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-08 04:22:49,286 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:49,286 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 04:22:49,286 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:49,287 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 04:22:49,287 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-08 04:22:49,287 INFO L87 Difference]: Start difference. First operand 76 states and 97 transitions. Second operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 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-08 04:22:49,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:49,877 INFO L93 Difference]: Finished difference Result 85 states and 107 transitions. [2022-04-08 04:22:49,877 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 04:22:49,877 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 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 43 [2022-04-08 04:22:49,878 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:22:49,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 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-08 04:22:49,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-04-08 04:22:49,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 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-08 04:22:49,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-04-08 04:22:49,881 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 47 transitions. [2022-04-08 04:22:49,917 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:22:49,919 INFO L225 Difference]: With dead ends: 85 [2022-04-08 04:22:49,919 INFO L226 Difference]: Without dead ends: 81 [2022-04-08 04:22:49,920 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 77 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 7 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=36, Invalid=96, Unknown=0, NotChecked=0, Total=132 [2022-04-08 04:22:49,921 INFO L913 BasicCegarLoop]: 26 mSDtfsCounter, 14 mSDsluCounter, 79 mSDsCounter, 0 mSdLazyCounter, 116 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 105 SdHoareTripleChecker+Invalid, 127 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 116 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:22:49,921 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 105 Invalid, 127 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 116 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:22:49,922 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-08 04:22:49,986 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2022-04-08 04:22:49,986 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:22:49,987 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 04:22:49,987 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 04:22:49,988 INFO L87 Difference]: Start difference. First operand 81 states. Second operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 04:22:49,990 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:49,990 INFO L93 Difference]: Finished difference Result 81 states and 100 transitions. [2022-04-08 04:22:49,990 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 100 transitions. [2022-04-08 04:22:49,991 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:49,991 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:49,991 INFO L74 IsIncluded]: Start isIncluded. First operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 81 states. [2022-04-08 04:22:49,991 INFO L87 Difference]: Start difference. First operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) Second operand 81 states. [2022-04-08 04:22:49,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:22:49,994 INFO L93 Difference]: Finished difference Result 81 states and 100 transitions. [2022-04-08 04:22:49,994 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 100 transitions. [2022-04-08 04:22:49,995 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:22:49,995 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:22:49,995 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:22:49,995 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:22:49,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 81 states, 45 states have (on average 1.1555555555555554) internal successors, (52), 48 states have internal predecessors, (52), 25 states have call successors, (25), 11 states have call predecessors, (25), 10 states have return successors, (23), 21 states have call predecessors, (23), 23 states have call successors, (23) [2022-04-08 04:22:49,998 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 100 transitions. [2022-04-08 04:22:49,998 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 100 transitions. Word has length 43 [2022-04-08 04:22:49,998 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:22:49,998 INFO L478 AbstractCegarLoop]: Abstraction has 81 states and 100 transitions. [2022-04-08 04:22:49,998 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.5714285714285716) internal successors, (18), 6 states have internal predecessors, (18), 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-08 04:22:49,998 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 100 transitions. [2022-04-08 04:22:50,114 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-08 04:22:50,115 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 100 transitions. [2022-04-08 04:22:50,115 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-08 04:22:50,115 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:22:50,116 INFO L499 BasicCegarLoop]: trace histogram [5, 4, 4, 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-08 04:22:50,139 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-08 04:22:50,331 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:50,332 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:22:50,332 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:22:50,332 INFO L85 PathProgramCache]: Analyzing trace with hash -17648356, now seen corresponding path program 3 times [2022-04-08 04:22:50,332 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:22:50,332 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1213300007] [2022-04-08 04:22:50,333 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:22:50,333 INFO L85 PathProgramCache]: Analyzing trace with hash -17648356, now seen corresponding path program 4 times [2022-04-08 04:22:50,333 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:22:50,333 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [923714488] [2022-04-08 04:22:50,333 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:22:50,333 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:22:50,354 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:22:50,354 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [34325704] [2022-04-08 04:22:50,354 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:22:50,354 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:22:50,354 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:22:50,360 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:22:50,361 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-08 04:22:50,401 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:22:50,401 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:22:50,402 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-08 04:22:50,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:22:50,413 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:22:50,850 INFO L272 TraceCheckUtils]: 0: Hoare triple {3523#true} call ULTIMATE.init(); {3523#true} is VALID [2022-04-08 04:22:50,850 INFO L290 TraceCheckUtils]: 1: Hoare triple {3523#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); {3523#true} is VALID [2022-04-08 04:22:50,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-08 04:22:50,851 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3523#true} {3523#true} #81#return; {3523#true} is VALID [2022-04-08 04:22:50,851 INFO L272 TraceCheckUtils]: 4: Hoare triple {3523#true} call #t~ret6 := main(); {3523#true} is VALID [2022-04-08 04:22:50,851 INFO L290 TraceCheckUtils]: 5: Hoare triple {3523#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; {3523#true} is VALID [2022-04-08 04:22:50,851 INFO L272 TraceCheckUtils]: 6: Hoare triple {3523#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3523#true} is VALID [2022-04-08 04:22:50,851 INFO L290 TraceCheckUtils]: 7: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-08 04:22:50,851 INFO L290 TraceCheckUtils]: 8: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-08 04:22:50,851 INFO L290 TraceCheckUtils]: 9: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-08 04:22:50,851 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3523#true} {3523#true} #63#return; {3523#true} is VALID [2022-04-08 04:22:50,851 INFO L272 TraceCheckUtils]: 11: Hoare triple {3523#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3523#true} is VALID [2022-04-08 04:22:50,852 INFO L290 TraceCheckUtils]: 12: Hoare triple {3523#true} ~cond := #in~cond; {3564#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:22:50,852 INFO L290 TraceCheckUtils]: 13: Hoare triple {3564#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {3568#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:22:50,852 INFO L290 TraceCheckUtils]: 14: Hoare triple {3568#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {3568#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:22:50,853 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3568#(not (= |assume_abort_if_not_#in~cond| 0))} {3523#true} #65#return; {3575#(<= 1 main_~y~0)} is VALID [2022-04-08 04:22:50,858 INFO L290 TraceCheckUtils]: 16: Hoare triple {3575#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:50,859 INFO L290 TraceCheckUtils]: 17: Hoare triple {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !false; {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:50,859 INFO L272 TraceCheckUtils]: 18: Hoare triple {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 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)); {3523#true} is VALID [2022-04-08 04:22:50,859 INFO L290 TraceCheckUtils]: 19: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-08 04:22:50,859 INFO L290 TraceCheckUtils]: 20: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-08 04:22:50,860 INFO L290 TraceCheckUtils]: 21: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-08 04:22:50,860 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3523#true} {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #67#return; {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:50,861 INFO L272 TraceCheckUtils]: 23: Hoare triple {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 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)); {3523#true} is VALID [2022-04-08 04:22:50,861 INFO L290 TraceCheckUtils]: 24: Hoare triple {3523#true} ~cond := #in~cond; {3604#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:50,861 INFO L290 TraceCheckUtils]: 25: Hoare triple {3604#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:22:50,861 INFO L290 TraceCheckUtils]: 26: Hoare triple {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:22:50,862 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} {3579#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (<= main_~x~0 main_~a~0) (<= 1 main_~y~0) (= main_~p~0 1))} #69#return; {3615#(and (= 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) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:50,862 INFO L272 TraceCheckUtils]: 28: Hoare triple {3615#(and (= 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) (<= 1 main_~y~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {3523#true} is VALID [2022-04-08 04:22:50,863 INFO L290 TraceCheckUtils]: 29: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-08 04:22:50,863 INFO L290 TraceCheckUtils]: 30: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-08 04:22:50,863 INFO L290 TraceCheckUtils]: 31: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-08 04:22:50,863 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3523#true} {3615#(and (= 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) (<= 1 main_~y~0) (= main_~p~0 1))} #71#return; {3615#(and (= 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) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:50,864 INFO L290 TraceCheckUtils]: 33: Hoare triple {3615#(and (= 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) (<= 1 main_~y~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {3615#(and (= 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) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 04:22:50,865 INFO L290 TraceCheckUtils]: 34: Hoare triple {3615#(and (= 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) (<= 1 main_~y~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; {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} is VALID [2022-04-08 04:22:50,865 INFO L290 TraceCheckUtils]: 35: Hoare triple {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} assume !false; {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} is VALID [2022-04-08 04:22:50,865 INFO L272 TraceCheckUtils]: 36: Hoare triple {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {3523#true} is VALID [2022-04-08 04:22:50,865 INFO L290 TraceCheckUtils]: 37: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-08 04:22:50,866 INFO L290 TraceCheckUtils]: 38: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-08 04:22:50,866 INFO L290 TraceCheckUtils]: 39: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-08 04:22:50,866 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3523#true} {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} #67#return; {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} is VALID [2022-04-08 04:22:50,868 INFO L272 TraceCheckUtils]: 41: Hoare triple {3637#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= (* (- 1) main_~r~0) 1) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {3659#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:22:50,868 INFO L290 TraceCheckUtils]: 42: Hoare triple {3659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:22:50,868 INFO L290 TraceCheckUtils]: 43: Hoare triple {3663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3524#false} is VALID [2022-04-08 04:22:50,869 INFO L290 TraceCheckUtils]: 44: Hoare triple {3524#false} assume !false; {3524#false} is VALID [2022-04-08 04:22:50,869 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 13 proven. 10 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-08 04:22:50,869 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:23:27,139 INFO L290 TraceCheckUtils]: 44: Hoare triple {3524#false} assume !false; {3524#false} is VALID [2022-04-08 04:23:27,140 INFO L290 TraceCheckUtils]: 43: Hoare triple {3663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3524#false} is VALID [2022-04-08 04:23:27,140 INFO L290 TraceCheckUtils]: 42: Hoare triple {3659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:27,141 INFO L272 TraceCheckUtils]: 41: Hoare triple {3679#(= 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)); {3659#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:27,142 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {3523#true} {3679#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {3679#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:23:27,142 INFO L290 TraceCheckUtils]: 39: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-08 04:23:27,142 INFO L290 TraceCheckUtils]: 38: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-08 04:23:27,142 INFO L290 TraceCheckUtils]: 37: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-08 04:23:27,142 INFO L272 TraceCheckUtils]: 36: Hoare triple {3679#(= 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)); {3523#true} is VALID [2022-04-08 04:23:27,142 INFO L290 TraceCheckUtils]: 35: Hoare triple {3679#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {3679#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:23:27,856 INFO L290 TraceCheckUtils]: 34: Hoare triple {3701#(= (+ 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; {3679#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:23:27,856 INFO L290 TraceCheckUtils]: 33: Hoare triple {3701#(= (+ 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); {3701#(= (+ 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-08 04:23:27,857 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {3523#true} {3701#(= (+ 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)))))} #71#return; {3701#(= (+ 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-08 04:23:27,857 INFO L290 TraceCheckUtils]: 31: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-08 04:23:27,857 INFO L290 TraceCheckUtils]: 30: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-08 04:23:27,857 INFO L290 TraceCheckUtils]: 29: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-08 04:23:27,857 INFO L272 TraceCheckUtils]: 28: Hoare triple {3701#(= (+ 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)); {3523#true} is VALID [2022-04-08 04:23:27,868 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} {3723#(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)))))} #69#return; {3701#(= (+ 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-08 04:23:27,868 INFO L290 TraceCheckUtils]: 26: Hoare triple {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:27,869 INFO L290 TraceCheckUtils]: 25: Hoare triple {3733#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {3608#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:27,869 INFO L290 TraceCheckUtils]: 24: Hoare triple {3523#true} ~cond := #in~cond; {3733#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:23:27,869 INFO L272 TraceCheckUtils]: 23: Hoare triple {3723#(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)); {3523#true} is VALID [2022-04-08 04:23:27,870 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {3523#true} {3723#(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)))))} #67#return; {3723#(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-08 04:23:27,870 INFO L290 TraceCheckUtils]: 21: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-08 04:23:27,870 INFO L290 TraceCheckUtils]: 20: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-08 04:23:27,870 INFO L290 TraceCheckUtils]: 19: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-08 04:23:27,870 INFO L272 TraceCheckUtils]: 18: Hoare triple {3723#(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)); {3523#true} is VALID [2022-04-08 04:23:27,879 INFO L290 TraceCheckUtils]: 17: Hoare triple {3723#(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 !false; {3723#(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-08 04:23:27,880 INFO L290 TraceCheckUtils]: 16: Hoare triple {3523#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {3723#(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-08 04:23:27,880 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3523#true} {3523#true} #65#return; {3523#true} is VALID [2022-04-08 04:23:27,880 INFO L290 TraceCheckUtils]: 14: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-08 04:23:27,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-08 04:23:27,880 INFO L290 TraceCheckUtils]: 12: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-08 04:23:27,881 INFO L272 TraceCheckUtils]: 11: Hoare triple {3523#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {3523#true} is VALID [2022-04-08 04:23:27,881 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3523#true} {3523#true} #63#return; {3523#true} is VALID [2022-04-08 04:23:27,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-08 04:23:27,881 INFO L290 TraceCheckUtils]: 8: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-08 04:23:27,881 INFO L290 TraceCheckUtils]: 7: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-08 04:23:27,881 INFO L272 TraceCheckUtils]: 6: Hoare triple {3523#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {3523#true} is VALID [2022-04-08 04:23:27,881 INFO L290 TraceCheckUtils]: 5: Hoare triple {3523#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; {3523#true} is VALID [2022-04-08 04:23:27,881 INFO L272 TraceCheckUtils]: 4: Hoare triple {3523#true} call #t~ret6 := main(); {3523#true} is VALID [2022-04-08 04:23:27,881 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3523#true} {3523#true} #81#return; {3523#true} is VALID [2022-04-08 04:23:27,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-08 04:23:27,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {3523#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); {3523#true} is VALID [2022-04-08 04:23:27,881 INFO L272 TraceCheckUtils]: 0: Hoare triple {3523#true} call ULTIMATE.init(); {3523#true} is VALID [2022-04-08 04:23:27,881 INFO L134 CoverageAnalysis]: Checked inductivity of 39 backedges. 10 proven. 10 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-08 04:23:27,882 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:23:27,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [923714488] [2022-04-08 04:23:27,882 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:23:27,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [34325704] [2022-04-08 04:23:27,882 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [34325704] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:23:27,882 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:23:27,882 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-08 04:23:27,882 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:23:27,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1213300007] [2022-04-08 04:23:27,882 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1213300007] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:23:27,882 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:23:27,882 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 04:23:27,882 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [405834626] [2022-04-08 04:23:27,882 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:23:27,883 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 45 [2022-04-08 04:23:27,883 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:23:27,883 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-08 04:23:27,911 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-08 04:23:27,912 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 04:23:27,912 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:27,912 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 04:23:27,912 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=197, Unknown=0, NotChecked=0, Total=240 [2022-04-08 04:23:27,912 INFO L87 Difference]: Start difference. First operand 81 states and 100 transitions. Second operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-08 04:23:29,143 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:29,143 INFO L93 Difference]: Finished difference Result 115 states and 142 transitions. [2022-04-08 04:23:29,143 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 04:23:29,143 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) Word has length 45 [2022-04-08 04:23:29,143 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:23:29,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-08 04:23:29,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2022-04-08 04:23:29,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-08 04:23:29,146 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2022-04-08 04:23:29,146 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 70 transitions. [2022-04-08 04:23:29,207 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:29,209 INFO L225 Difference]: With dead ends: 115 [2022-04-08 04:23:29,209 INFO L226 Difference]: Without dead ends: 113 [2022-04-08 04:23:29,209 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 74 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=60, Invalid=282, Unknown=0, NotChecked=0, Total=342 [2022-04-08 04:23:29,210 INFO L913 BasicCegarLoop]: 29 mSDtfsCounter, 27 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 333 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 39 SdHoareTripleChecker+Valid, 132 SdHoareTripleChecker+Invalid, 348 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 333 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 04:23:29,210 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [39 Valid, 132 Invalid, 348 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 333 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 04:23:29,210 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-08 04:23:29,267 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 109. [2022-04-08 04:23:29,267 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:23:29,268 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 04:23:29,268 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 04:23:29,268 INFO L87 Difference]: Start difference. First operand 113 states. Second operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 04:23:29,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:29,271 INFO L93 Difference]: Finished difference Result 113 states and 140 transitions. [2022-04-08 04:23:29,271 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 140 transitions. [2022-04-08 04:23:29,271 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:29,271 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:29,271 INFO L74 IsIncluded]: Start isIncluded. First operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) Second operand 113 states. [2022-04-08 04:23:29,272 INFO L87 Difference]: Start difference. First operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) Second operand 113 states. [2022-04-08 04:23:29,274 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:29,274 INFO L93 Difference]: Finished difference Result 113 states and 140 transitions. [2022-04-08 04:23:29,274 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 140 transitions. [2022-04-08 04:23:29,274 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:29,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:29,274 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:23:29,275 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:23:29,275 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 109 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 66 states have internal predecessors, (73), 31 states have call successors, (31), 15 states have call predecessors, (31), 14 states have return successors, (29), 27 states have call predecessors, (29), 29 states have call successors, (29) [2022-04-08 04:23:29,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 133 transitions. [2022-04-08 04:23:29,277 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 133 transitions. Word has length 45 [2022-04-08 04:23:29,277 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:23:29,277 INFO L478 AbstractCegarLoop]: Abstraction has 109 states and 133 transitions. [2022-04-08 04:23:29,277 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.9166666666666667) internal successors, (23), 10 states have internal predecessors, (23), 4 states have call successors, (9), 2 states have call predecessors, (9), 3 states have return successors, (7), 5 states have call predecessors, (7), 4 states have call successors, (7) [2022-04-08 04:23:29,277 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 109 states and 133 transitions. [2022-04-08 04:23:29,423 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 133 edges. 133 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:29,423 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 133 transitions. [2022-04-08 04:23:29,424 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-08 04:23:29,424 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:23:29,424 INFO L499 BasicCegarLoop]: trace histogram [6, 5, 5, 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-08 04:23:29,440 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-08 04:23:29,636 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:23:29,638 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:23:29,638 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:23:29,638 INFO L85 PathProgramCache]: Analyzing trace with hash 1834363254, now seen corresponding path program 1 times [2022-04-08 04:23:29,638 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:29,638 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [654918856] [2022-04-08 04:23:29,639 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:23:29,639 INFO L85 PathProgramCache]: Analyzing trace with hash 1834363254, now seen corresponding path program 2 times [2022-04-08 04:23:29,639 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:23:29,639 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [906188684] [2022-04-08 04:23:29,639 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:23:29,639 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:23:29,660 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:23:29,660 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [113267041] [2022-04-08 04:23:29,660 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:23:29,661 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:23:29,661 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:23:29,662 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:23:29,662 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-08 04:23:29,698 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:23:29,698 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:23:29,699 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-08 04:23:29,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:23:29,715 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:23:30,069 INFO L272 TraceCheckUtils]: 0: Hoare triple {4488#true} call ULTIMATE.init(); {4488#true} is VALID [2022-04-08 04:23:30,069 INFO L290 TraceCheckUtils]: 1: Hoare triple {4488#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); {4488#true} is VALID [2022-04-08 04:23:30,069 INFO L290 TraceCheckUtils]: 2: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-08 04:23:30,069 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4488#true} {4488#true} #81#return; {4488#true} is VALID [2022-04-08 04:23:30,069 INFO L272 TraceCheckUtils]: 4: Hoare triple {4488#true} call #t~ret6 := main(); {4488#true} is VALID [2022-04-08 04:23:30,069 INFO L290 TraceCheckUtils]: 5: Hoare triple {4488#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; {4488#true} is VALID [2022-04-08 04:23:30,069 INFO L272 TraceCheckUtils]: 6: Hoare triple {4488#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4488#true} is VALID [2022-04-08 04:23:30,070 INFO L290 TraceCheckUtils]: 7: Hoare triple {4488#true} ~cond := #in~cond; {4514#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:23:30,070 INFO L290 TraceCheckUtils]: 8: Hoare triple {4514#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4518#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:23:30,070 INFO L290 TraceCheckUtils]: 9: Hoare triple {4518#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4518#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:23:30,071 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4518#(not (= |assume_abort_if_not_#in~cond| 0))} {4488#true} #63#return; {4525#(<= 1 main_~x~0)} is VALID [2022-04-08 04:23:30,071 INFO L272 TraceCheckUtils]: 11: Hoare triple {4525#(<= 1 main_~x~0)} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4488#true} is VALID [2022-04-08 04:23:30,071 INFO L290 TraceCheckUtils]: 12: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-08 04:23:30,071 INFO L290 TraceCheckUtils]: 13: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-08 04:23:30,071 INFO L290 TraceCheckUtils]: 14: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-08 04:23:30,072 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4488#true} {4525#(<= 1 main_~x~0)} #65#return; {4525#(<= 1 main_~x~0)} is VALID [2022-04-08 04:23:30,072 INFO L290 TraceCheckUtils]: 16: Hoare triple {4525#(<= 1 main_~x~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4544#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:30,073 INFO L290 TraceCheckUtils]: 17: Hoare triple {4544#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {4544#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:30,073 INFO L272 TraceCheckUtils]: 18: Hoare triple {4544#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4488#true} is VALID [2022-04-08 04:23:30,073 INFO L290 TraceCheckUtils]: 19: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-08 04:23:30,073 INFO L290 TraceCheckUtils]: 20: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-08 04:23:30,073 INFO L290 TraceCheckUtils]: 21: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-08 04:23:30,074 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4488#true} {4544#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {4544#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:30,074 INFO L272 TraceCheckUtils]: 23: Hoare triple {4544#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4488#true} is VALID [2022-04-08 04:23:30,074 INFO L290 TraceCheckUtils]: 24: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-08 04:23:30,074 INFO L290 TraceCheckUtils]: 25: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-08 04:23:30,074 INFO L290 TraceCheckUtils]: 26: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-08 04:23:30,075 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4488#true} {4544#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {4544#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:30,075 INFO L272 TraceCheckUtils]: 28: Hoare triple {4544#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4488#true} is VALID [2022-04-08 04:23:30,075 INFO L290 TraceCheckUtils]: 29: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-08 04:23:30,075 INFO L290 TraceCheckUtils]: 30: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-08 04:23:30,075 INFO L290 TraceCheckUtils]: 31: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-08 04:23:30,076 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4488#true} {4544#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {4544#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:30,076 INFO L290 TraceCheckUtils]: 33: Hoare triple {4544#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {4544#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:30,077 INFO L290 TraceCheckUtils]: 34: Hoare triple {4544#(and (= main_~r~0 0) (<= 1 main_~x~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 04:23:30,077 INFO L290 TraceCheckUtils]: 35: Hoare triple {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} assume !false; {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 04:23:30,077 INFO L272 TraceCheckUtils]: 36: Hoare triple {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {4488#true} is VALID [2022-04-08 04:23:30,078 INFO L290 TraceCheckUtils]: 37: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-08 04:23:30,078 INFO L290 TraceCheckUtils]: 38: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-08 04:23:30,078 INFO L290 TraceCheckUtils]: 39: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-08 04:23:30,078 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4488#true} {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #67#return; {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 04:23:30,078 INFO L272 TraceCheckUtils]: 41: Hoare triple {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {4488#true} is VALID [2022-04-08 04:23:30,078 INFO L290 TraceCheckUtils]: 42: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-08 04:23:30,078 INFO L290 TraceCheckUtils]: 43: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-08 04:23:30,079 INFO L290 TraceCheckUtils]: 44: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-08 04:23:30,079 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4488#true} {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} #69#return; {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} is VALID [2022-04-08 04:23:30,080 INFO L272 TraceCheckUtils]: 46: Hoare triple {4599#(and (<= 1 main_~x~0) (= main_~s~0 1) (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~x~0) (= (* (- 1) main_~q~0) 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {4636#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:30,080 INFO L290 TraceCheckUtils]: 47: Hoare triple {4636#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4640#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:30,081 INFO L290 TraceCheckUtils]: 48: Hoare triple {4640#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4489#false} is VALID [2022-04-08 04:23:30,081 INFO L290 TraceCheckUtils]: 49: Hoare triple {4489#false} assume !false; {4489#false} is VALID [2022-04-08 04:23:30,081 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 41 trivial. 0 not checked. [2022-04-08 04:23:30,081 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:23:30,317 INFO L290 TraceCheckUtils]: 49: Hoare triple {4489#false} assume !false; {4489#false} is VALID [2022-04-08 04:23:30,317 INFO L290 TraceCheckUtils]: 48: Hoare triple {4640#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4489#false} is VALID [2022-04-08 04:23:30,318 INFO L290 TraceCheckUtils]: 47: Hoare triple {4636#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4640#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:30,318 INFO L272 TraceCheckUtils]: 46: Hoare triple {4656#(= 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)); {4636#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:30,319 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {4488#true} {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #69#return; {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:30,319 INFO L290 TraceCheckUtils]: 44: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-08 04:23:30,319 INFO L290 TraceCheckUtils]: 43: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-08 04:23:30,319 INFO L290 TraceCheckUtils]: 42: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-08 04:23:30,319 INFO L272 TraceCheckUtils]: 41: Hoare triple {4656#(= 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)); {4488#true} is VALID [2022-04-08 04:23:30,320 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {4488#true} {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #67#return; {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:30,320 INFO L290 TraceCheckUtils]: 39: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-08 04:23:30,320 INFO L290 TraceCheckUtils]: 38: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-08 04:23:30,320 INFO L290 TraceCheckUtils]: 37: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-08 04:23:30,320 INFO L272 TraceCheckUtils]: 36: Hoare triple {4656#(= 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)); {4488#true} is VALID [2022-04-08 04:23:30,321 INFO L290 TraceCheckUtils]: 35: Hoare triple {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:30,412 INFO L290 TraceCheckUtils]: 34: Hoare triple {4693#(= (+ (* (+ 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; {4656#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:30,412 INFO L290 TraceCheckUtils]: 33: Hoare triple {4693#(= (+ (* (+ 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); {4693#(= (+ (* (+ 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-08 04:23:30,413 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {4488#true} {4693#(= (+ (* (+ 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))} #71#return; {4693#(= (+ (* (+ 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-08 04:23:30,413 INFO L290 TraceCheckUtils]: 31: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-08 04:23:30,413 INFO L290 TraceCheckUtils]: 30: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-08 04:23:30,413 INFO L290 TraceCheckUtils]: 29: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-08 04:23:30,413 INFO L272 TraceCheckUtils]: 28: Hoare triple {4693#(= (+ (* (+ 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)); {4488#true} is VALID [2022-04-08 04:23:30,414 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {4488#true} {4693#(= (+ (* (+ 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))} #69#return; {4693#(= (+ (* (+ 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-08 04:23:30,414 INFO L290 TraceCheckUtils]: 26: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-08 04:23:30,414 INFO L290 TraceCheckUtils]: 25: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-08 04:23:30,414 INFO L290 TraceCheckUtils]: 24: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-08 04:23:30,414 INFO L272 TraceCheckUtils]: 23: Hoare triple {4693#(= (+ (* (+ 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)); {4488#true} is VALID [2022-04-08 04:23:30,415 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {4488#true} {4693#(= (+ (* (+ 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))} #67#return; {4693#(= (+ (* (+ 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-08 04:23:30,415 INFO L290 TraceCheckUtils]: 21: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-08 04:23:30,415 INFO L290 TraceCheckUtils]: 20: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-08 04:23:30,415 INFO L290 TraceCheckUtils]: 19: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-08 04:23:30,415 INFO L272 TraceCheckUtils]: 18: Hoare triple {4693#(= (+ (* (+ 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)); {4488#true} is VALID [2022-04-08 04:23:30,416 INFO L290 TraceCheckUtils]: 17: Hoare triple {4693#(= (+ (* (+ 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 !false; {4693#(= (+ (* (+ 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-08 04:23:30,416 INFO L290 TraceCheckUtils]: 16: Hoare triple {4488#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {4693#(= (+ (* (+ 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-08 04:23:30,416 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4488#true} {4488#true} #65#return; {4488#true} is VALID [2022-04-08 04:23:30,416 INFO L290 TraceCheckUtils]: 14: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-08 04:23:30,416 INFO L290 TraceCheckUtils]: 13: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-08 04:23:30,416 INFO L290 TraceCheckUtils]: 12: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-08 04:23:30,417 INFO L272 TraceCheckUtils]: 11: Hoare triple {4488#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {4488#true} is VALID [2022-04-08 04:23:30,417 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4488#true} {4488#true} #63#return; {4488#true} is VALID [2022-04-08 04:23:30,417 INFO L290 TraceCheckUtils]: 9: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-08 04:23:30,417 INFO L290 TraceCheckUtils]: 8: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-08 04:23:30,417 INFO L290 TraceCheckUtils]: 7: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-08 04:23:30,417 INFO L272 TraceCheckUtils]: 6: Hoare triple {4488#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {4488#true} is VALID [2022-04-08 04:23:30,417 INFO L290 TraceCheckUtils]: 5: Hoare triple {4488#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; {4488#true} is VALID [2022-04-08 04:23:30,417 INFO L272 TraceCheckUtils]: 4: Hoare triple {4488#true} call #t~ret6 := main(); {4488#true} is VALID [2022-04-08 04:23:30,417 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4488#true} {4488#true} #81#return; {4488#true} is VALID [2022-04-08 04:23:30,417 INFO L290 TraceCheckUtils]: 2: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-08 04:23:30,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {4488#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); {4488#true} is VALID [2022-04-08 04:23:30,417 INFO L272 TraceCheckUtils]: 0: Hoare triple {4488#true} call ULTIMATE.init(); {4488#true} is VALID [2022-04-08 04:23:30,417 INFO L134 CoverageAnalysis]: Checked inductivity of 58 backedges. 10 proven. 4 refuted. 0 times theorem prover too weak. 44 trivial. 0 not checked. [2022-04-08 04:23:30,418 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:23:30,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [906188684] [2022-04-08 04:23:30,418 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:23:30,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [113267041] [2022-04-08 04:23:30,418 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [113267041] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:23:30,418 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:23:30,418 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 6] total 11 [2022-04-08 04:23:30,418 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:23:30,418 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [654918856] [2022-04-08 04:23:30,418 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [654918856] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:23:30,418 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:23:30,418 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 04:23:30,418 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [363237279] [2022-04-08 04:23:30,418 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:23:30,419 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 50 [2022-04-08 04:23:30,419 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:23:30,420 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 04:23:30,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:30,448 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 04:23:30,448 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:30,448 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 04:23:30,448 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2022-04-08 04:23:30,448 INFO L87 Difference]: Start difference. First operand 109 states and 133 transitions. Second operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 04:23:31,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:31,408 INFO L93 Difference]: Finished difference Result 134 states and 173 transitions. [2022-04-08 04:23:31,408 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 04:23:31,409 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) Word has length 50 [2022-04-08 04:23:31,409 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:23:31,409 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 04:23:31,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 70 transitions. [2022-04-08 04:23:31,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 04:23:31,417 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 70 transitions. [2022-04-08 04:23:31,417 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 70 transitions. [2022-04-08 04:23:31,473 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:31,475 INFO L225 Difference]: With dead ends: 134 [2022-04-08 04:23:31,475 INFO L226 Difference]: Without dead ends: 128 [2022-04-08 04:23:31,475 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 101 GetRequests, 89 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 16 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=32, Invalid=124, Unknown=0, NotChecked=0, Total=156 [2022-04-08 04:23:31,476 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 130 mSDsCounter, 0 mSdLazyCounter, 212 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 166 SdHoareTripleChecker+Invalid, 223 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 212 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:23:31,476 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 166 Invalid, 223 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 212 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 04:23:31,476 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-08 04:23:31,585 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 128. [2022-04-08 04:23:31,585 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:23:31,585 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 04:23:31,586 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 04:23:31,586 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 04:23:31,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:31,589 INFO L93 Difference]: Finished difference Result 128 states and 162 transitions. [2022-04-08 04:23:31,589 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 162 transitions. [2022-04-08 04:23:31,589 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:31,589 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:31,590 INFO L74 IsIncluded]: Start isIncluded. First operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 128 states. [2022-04-08 04:23:31,590 INFO L87 Difference]: Start difference. First operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) Second operand 128 states. [2022-04-08 04:23:31,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:31,592 INFO L93 Difference]: Finished difference Result 128 states and 162 transitions. [2022-04-08 04:23:31,592 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 162 transitions. [2022-04-08 04:23:31,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:31,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:31,593 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:23:31,593 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:23:31,593 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 128 states, 72 states have (on average 1.1805555555555556) internal successors, (85), 76 states have internal predecessors, (85), 40 states have call successors, (40), 16 states have call predecessors, (40), 15 states have return successors, (37), 35 states have call predecessors, (37), 37 states have call successors, (37) [2022-04-08 04:23:31,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 162 transitions. [2022-04-08 04:23:31,604 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 162 transitions. Word has length 50 [2022-04-08 04:23:31,604 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:23:31,604 INFO L478 AbstractCegarLoop]: Abstraction has 128 states and 162 transitions. [2022-04-08 04:23:31,604 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.2222222222222223) internal successors, (20), 7 states have internal predecessors, (20), 4 states have call successors, (10), 2 states have call predecessors, (10), 2 states have return successors, (8), 4 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-08 04:23:31,604 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 128 states and 162 transitions. [2022-04-08 04:23:31,780 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 162 edges. 162 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:31,780 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 162 transitions. [2022-04-08 04:23:31,781 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-08 04:23:31,781 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:23:31,781 INFO L499 BasicCegarLoop]: trace histogram [7, 6, 6, 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-08 04:23:31,797 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-08 04:23:31,981 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable8 [2022-04-08 04:23:31,981 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:23:31,982 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:23:31,982 INFO L85 PathProgramCache]: Analyzing trace with hash -152607915, now seen corresponding path program 1 times [2022-04-08 04:23:31,982 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:31,982 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [546290711] [2022-04-08 04:23:31,982 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:23:31,982 INFO L85 PathProgramCache]: Analyzing trace with hash -152607915, now seen corresponding path program 2 times [2022-04-08 04:23:31,982 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:23:31,982 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1843314407] [2022-04-08 04:23:31,982 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:23:31,983 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:23:31,994 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:23:31,995 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [639442133] [2022-04-08 04:23:31,995 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:23:31,995 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:23:31,995 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:23:31,998 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:23:32,000 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-08 04:23:32,041 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:23:32,042 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:23:32,043 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-08 04:23:32,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:23:32,052 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:23:32,327 INFO L272 TraceCheckUtils]: 0: Hoare triple {5582#true} call ULTIMATE.init(); {5582#true} is VALID [2022-04-08 04:23:32,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {5582#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); {5582#true} is VALID [2022-04-08 04:23:32,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,328 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5582#true} {5582#true} #81#return; {5582#true} is VALID [2022-04-08 04:23:32,328 INFO L272 TraceCheckUtils]: 4: Hoare triple {5582#true} call #t~ret6 := main(); {5582#true} is VALID [2022-04-08 04:23:32,328 INFO L290 TraceCheckUtils]: 5: Hoare triple {5582#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; {5582#true} is VALID [2022-04-08 04:23:32,328 INFO L272 TraceCheckUtils]: 6: Hoare triple {5582#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5582#true} is VALID [2022-04-08 04:23:32,328 INFO L290 TraceCheckUtils]: 7: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,328 INFO L290 TraceCheckUtils]: 8: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,328 INFO L290 TraceCheckUtils]: 9: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,328 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5582#true} {5582#true} #63#return; {5582#true} is VALID [2022-04-08 04:23:32,328 INFO L272 TraceCheckUtils]: 11: Hoare triple {5582#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5582#true} is VALID [2022-04-08 04:23:32,328 INFO L290 TraceCheckUtils]: 12: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,328 INFO L290 TraceCheckUtils]: 13: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,328 INFO L290 TraceCheckUtils]: 14: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,329 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5582#true} {5582#true} #65#return; {5582#true} is VALID [2022-04-08 04:23:32,329 INFO L290 TraceCheckUtils]: 16: Hoare triple {5582#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:32,329 INFO L290 TraceCheckUtils]: 17: Hoare triple {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:32,329 INFO L272 TraceCheckUtils]: 18: Hoare triple {5635#(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)); {5582#true} is VALID [2022-04-08 04:23:32,330 INFO L290 TraceCheckUtils]: 19: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,330 INFO L290 TraceCheckUtils]: 20: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,330 INFO L290 TraceCheckUtils]: 21: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,330 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5582#true} {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #67#return; {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:32,330 INFO L272 TraceCheckUtils]: 23: Hoare triple {5635#(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)); {5582#true} is VALID [2022-04-08 04:23:32,330 INFO L290 TraceCheckUtils]: 24: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,331 INFO L290 TraceCheckUtils]: 25: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,331 INFO L290 TraceCheckUtils]: 26: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,331 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5582#true} {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #69#return; {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:32,332 INFO L272 TraceCheckUtils]: 28: Hoare triple {5635#(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)); {5582#true} is VALID [2022-04-08 04:23:32,332 INFO L290 TraceCheckUtils]: 29: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,332 INFO L290 TraceCheckUtils]: 30: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,332 INFO L290 TraceCheckUtils]: 31: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,333 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5582#true} {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} #71#return; {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:32,333 INFO L290 TraceCheckUtils]: 33: Hoare triple {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {5635#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:32,334 INFO L290 TraceCheckUtils]: 34: Hoare triple {5635#(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; {5690#(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-08 04:23:32,334 INFO L290 TraceCheckUtils]: 35: Hoare triple {5690#(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 !false; {5690#(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-08 04:23:32,334 INFO L272 TraceCheckUtils]: 36: Hoare triple {5690#(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)); {5582#true} is VALID [2022-04-08 04:23:32,334 INFO L290 TraceCheckUtils]: 37: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,334 INFO L290 TraceCheckUtils]: 38: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,334 INFO L290 TraceCheckUtils]: 39: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,335 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5582#true} {5690#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #67#return; {5690#(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-08 04:23:32,335 INFO L272 TraceCheckUtils]: 41: Hoare triple {5690#(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)); {5582#true} is VALID [2022-04-08 04:23:32,335 INFO L290 TraceCheckUtils]: 42: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,335 INFO L290 TraceCheckUtils]: 43: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,335 INFO L290 TraceCheckUtils]: 44: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,336 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5582#true} {5690#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #69#return; {5690#(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-08 04:23:32,336 INFO L272 TraceCheckUtils]: 46: Hoare triple {5690#(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)); {5582#true} is VALID [2022-04-08 04:23:32,336 INFO L290 TraceCheckUtils]: 47: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,336 INFO L290 TraceCheckUtils]: 48: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,336 INFO L290 TraceCheckUtils]: 49: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,337 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5582#true} {5690#(and (= main_~s~0 1) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #71#return; {5690#(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-08 04:23:32,338 INFO L290 TraceCheckUtils]: 51: Hoare triple {5690#(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); {5690#(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-08 04:23:32,338 INFO L290 TraceCheckUtils]: 52: Hoare triple {5690#(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; {5745#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (- 1) main_~r~0))} is VALID [2022-04-08 04:23:32,339 INFO L290 TraceCheckUtils]: 53: Hoare triple {5745#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (- 1) main_~r~0))} assume !false; {5745#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (- 1) main_~r~0))} is VALID [2022-04-08 04:23:32,340 INFO L272 TraceCheckUtils]: 54: Hoare triple {5745#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (- 1) main_~r~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {5752#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:32,360 INFO L290 TraceCheckUtils]: 55: Hoare triple {5752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:32,361 INFO L290 TraceCheckUtils]: 56: Hoare triple {5756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5583#false} is VALID [2022-04-08 04:23:32,361 INFO L290 TraceCheckUtils]: 57: Hoare triple {5583#false} assume !false; {5583#false} is VALID [2022-04-08 04:23:32,361 INFO L134 CoverageAnalysis]: Checked inductivity of 86 backedges. 12 proven. 10 refuted. 0 times theorem prover too weak. 64 trivial. 0 not checked. [2022-04-08 04:23:32,362 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:23:32,601 INFO L290 TraceCheckUtils]: 57: Hoare triple {5583#false} assume !false; {5583#false} is VALID [2022-04-08 04:23:32,601 INFO L290 TraceCheckUtils]: 56: Hoare triple {5756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5583#false} is VALID [2022-04-08 04:23:32,602 INFO L290 TraceCheckUtils]: 55: Hoare triple {5752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:32,602 INFO L272 TraceCheckUtils]: 54: Hoare triple {5772#(= (* 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)); {5752#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:32,603 INFO L290 TraceCheckUtils]: 53: Hoare triple {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 04:23:32,606 INFO L290 TraceCheckUtils]: 52: Hoare triple {5772#(= (* 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; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 04:23:32,606 INFO L290 TraceCheckUtils]: 51: Hoare triple {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 04:23:32,607 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #71#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 04:23:32,607 INFO L290 TraceCheckUtils]: 49: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,607 INFO L290 TraceCheckUtils]: 48: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,607 INFO L290 TraceCheckUtils]: 47: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,607 INFO L272 TraceCheckUtils]: 46: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-08 04:23:32,608 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #69#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 04:23:32,608 INFO L290 TraceCheckUtils]: 44: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,608 INFO L290 TraceCheckUtils]: 43: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,608 INFO L290 TraceCheckUtils]: 42: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,608 INFO L272 TraceCheckUtils]: 41: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-08 04:23:32,609 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #67#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 04:23:32,609 INFO L290 TraceCheckUtils]: 39: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,609 INFO L290 TraceCheckUtils]: 38: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,609 INFO L290 TraceCheckUtils]: 37: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,609 INFO L272 TraceCheckUtils]: 36: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-08 04:23:32,609 INFO L290 TraceCheckUtils]: 35: Hoare triple {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 04:23:32,612 INFO L290 TraceCheckUtils]: 34: Hoare triple {5772#(= (* 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; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 04:23:32,612 INFO L290 TraceCheckUtils]: 33: Hoare triple {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !!(~a~0 != ~b~0); {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 04:23:32,613 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #71#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 04:23:32,613 INFO L290 TraceCheckUtils]: 31: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,613 INFO L290 TraceCheckUtils]: 30: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,613 INFO L290 TraceCheckUtils]: 29: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,613 INFO L272 TraceCheckUtils]: 28: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-08 04:23:32,614 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #69#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 04:23:32,614 INFO L290 TraceCheckUtils]: 26: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,614 INFO L290 TraceCheckUtils]: 25: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,614 INFO L290 TraceCheckUtils]: 24: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,614 INFO L272 TraceCheckUtils]: 23: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-08 04:23:32,615 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {5582#true} {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} #67#return; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 04:23:32,615 INFO L290 TraceCheckUtils]: 21: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,615 INFO L290 TraceCheckUtils]: 20: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,615 INFO L290 TraceCheckUtils]: 19: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,615 INFO L272 TraceCheckUtils]: 18: Hoare triple {5772#(= (* 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)); {5582#true} is VALID [2022-04-08 04:23:32,615 INFO L290 TraceCheckUtils]: 17: Hoare triple {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} assume !false; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 04:23:32,616 INFO L290 TraceCheckUtils]: 16: Hoare triple {5582#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {5772#(= (* main_~p~0 main_~s~0) (+ (* main_~q~0 main_~r~0) 1))} is VALID [2022-04-08 04:23:32,616 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5582#true} {5582#true} #65#return; {5582#true} is VALID [2022-04-08 04:23:32,616 INFO L290 TraceCheckUtils]: 14: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,616 INFO L290 TraceCheckUtils]: 13: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,616 INFO L290 TraceCheckUtils]: 12: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,616 INFO L272 TraceCheckUtils]: 11: Hoare triple {5582#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {5582#true} is VALID [2022-04-08 04:23:32,616 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5582#true} {5582#true} #63#return; {5582#true} is VALID [2022-04-08 04:23:32,616 INFO L290 TraceCheckUtils]: 9: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,617 INFO L290 TraceCheckUtils]: 8: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-08 04:23:32,617 INFO L290 TraceCheckUtils]: 7: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-08 04:23:32,617 INFO L272 TraceCheckUtils]: 6: Hoare triple {5582#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {5582#true} is VALID [2022-04-08 04:23:32,617 INFO L290 TraceCheckUtils]: 5: Hoare triple {5582#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; {5582#true} is VALID [2022-04-08 04:23:32,617 INFO L272 TraceCheckUtils]: 4: Hoare triple {5582#true} call #t~ret6 := main(); {5582#true} is VALID [2022-04-08 04:23:32,617 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5582#true} {5582#true} #81#return; {5582#true} is VALID [2022-04-08 04:23:32,617 INFO L290 TraceCheckUtils]: 2: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-08 04:23:32,617 INFO L290 TraceCheckUtils]: 1: Hoare triple {5582#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); {5582#true} is VALID [2022-04-08 04:23:32,617 INFO L272 TraceCheckUtils]: 0: Hoare triple {5582#true} call ULTIMATE.init(); {5582#true} is VALID [2022-04-08 04:23:32,618 INFO L134 CoverageAnalysis]: Checked inductivity of 86 backedges. 12 proven. 0 refuted. 0 times theorem prover too weak. 74 trivial. 0 not checked. [2022-04-08 04:23:32,618 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:23:32,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1843314407] [2022-04-08 04:23:32,618 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:23:32,618 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [639442133] [2022-04-08 04:23:32,618 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [639442133] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-08 04:23:32,618 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:23:32,618 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-08 04:23:32,619 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:23:32,619 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [546290711] [2022-04-08 04:23:32,619 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [546290711] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:23:32,619 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:23:32,619 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-08 04:23:32,619 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [282652177] [2022-04-08 04:23:32,619 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:23:32,619 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 58 [2022-04-08 04:23:32,620 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:23:32,620 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-08 04:23:32,645 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-08 04:23:32,645 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-08 04:23:32,645 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:32,645 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-08 04:23:32,646 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-08 04:23:32,646 INFO L87 Difference]: Start difference. First operand 128 states and 162 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-08 04:23:32,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:32,893 INFO L93 Difference]: Finished difference Result 134 states and 167 transitions. [2022-04-08 04:23:32,893 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-08 04:23:32,893 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 58 [2022-04-08 04:23:32,893 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:23:32,893 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-08 04:23:32,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-08 04:23:32,894 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-08 04:23:32,895 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-08 04:23:32,895 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2022-04-08 04:23:32,931 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:32,934 INFO L225 Difference]: With dead ends: 134 [2022-04-08 04:23:32,934 INFO L226 Difference]: Without dead ends: 129 [2022-04-08 04:23:32,935 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 106 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-08 04:23:32,935 INFO L913 BasicCegarLoop]: 31 mSDtfsCounter, 6 mSDsluCounter, 65 mSDsCounter, 0 mSdLazyCounter, 38 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 9 SdHoareTripleChecker+Valid, 96 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-08 04:23:32,935 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [9 Valid, 96 Invalid, 39 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 38 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-08 04:23:32,936 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-08 04:23:33,032 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 129. [2022-04-08 04:23:33,032 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:23:33,033 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 04:23:33,033 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 04:23:33,033 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 04:23:33,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:33,037 INFO L93 Difference]: Finished difference Result 129 states and 159 transitions. [2022-04-08 04:23:33,037 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 159 transitions. [2022-04-08 04:23:33,037 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:33,038 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:33,038 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) Second operand 129 states. [2022-04-08 04:23:33,038 INFO L87 Difference]: Start difference. First operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) Second operand 129 states. [2022-04-08 04:23:33,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:33,046 INFO L93 Difference]: Finished difference Result 129 states and 159 transitions. [2022-04-08 04:23:33,046 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 159 transitions. [2022-04-08 04:23:33,046 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:33,046 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:33,046 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:23:33,046 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:23:33,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 75 states have (on average 1.16) internal successors, (87), 78 states have internal predecessors, (87), 37 states have call successors, (37), 17 states have call predecessors, (37), 16 states have return successors, (35), 33 states have call predecessors, (35), 35 states have call successors, (35) [2022-04-08 04:23:33,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 159 transitions. [2022-04-08 04:23:33,050 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 159 transitions. Word has length 58 [2022-04-08 04:23:33,051 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:23:33,051 INFO L478 AbstractCegarLoop]: Abstraction has 129 states and 159 transitions. [2022-04-08 04:23:33,051 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-08 04:23:33,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 159 transitions. [2022-04-08 04:23:33,250 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 159 edges. 159 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:33,250 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 159 transitions. [2022-04-08 04:23:33,250 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-08 04:23:33,251 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:23:33,251 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 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-08 04:23:33,269 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-08 04:23:33,463 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-04-08 04:23:33,463 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:23:33,464 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:23:33,464 INFO L85 PathProgramCache]: Analyzing trace with hash -1386725923, now seen corresponding path program 5 times [2022-04-08 04:23:33,464 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:33,464 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1267374975] [2022-04-08 04:23:33,464 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:23:33,464 INFO L85 PathProgramCache]: Analyzing trace with hash -1386725923, now seen corresponding path program 6 times [2022-04-08 04:23:33,464 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:23:33,465 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1053460742] [2022-04-08 04:23:33,465 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:23:33,465 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:23:33,490 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:23:33,490 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1452646816] [2022-04-08 04:23:33,490 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:23:33,490 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:23:33,490 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:23:33,501 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:23:33,511 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-08 04:23:33,558 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 04:23:33,558 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:23:33,559 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-08 04:23:33,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:23:33,572 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:23:34,135 INFO L272 TraceCheckUtils]: 0: Hoare triple {6723#true} call ULTIMATE.init(); {6723#true} is VALID [2022-04-08 04:23:34,136 INFO L290 TraceCheckUtils]: 1: Hoare triple {6723#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); {6723#true} is VALID [2022-04-08 04:23:34,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:34,136 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6723#true} {6723#true} #81#return; {6723#true} is VALID [2022-04-08 04:23:34,136 INFO L272 TraceCheckUtils]: 4: Hoare triple {6723#true} call #t~ret6 := main(); {6723#true} is VALID [2022-04-08 04:23:34,136 INFO L290 TraceCheckUtils]: 5: Hoare triple {6723#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; {6723#true} is VALID [2022-04-08 04:23:34,136 INFO L272 TraceCheckUtils]: 6: Hoare triple {6723#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6723#true} is VALID [2022-04-08 04:23:34,136 INFO L290 TraceCheckUtils]: 7: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:34,136 INFO L290 TraceCheckUtils]: 8: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:34,136 INFO L290 TraceCheckUtils]: 9: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:34,136 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6723#true} {6723#true} #63#return; {6723#true} is VALID [2022-04-08 04:23:34,136 INFO L272 TraceCheckUtils]: 11: Hoare triple {6723#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6723#true} is VALID [2022-04-08 04:23:34,137 INFO L290 TraceCheckUtils]: 12: Hoare triple {6723#true} ~cond := #in~cond; {6764#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:23:34,137 INFO L290 TraceCheckUtils]: 13: Hoare triple {6764#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {6768#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:23:34,137 INFO L290 TraceCheckUtils]: 14: Hoare triple {6768#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {6768#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:23:34,138 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6768#(not (= |assume_abort_if_not_#in~cond| 0))} {6723#true} #65#return; {6775#(<= 1 main_~y~0)} is VALID [2022-04-08 04:23:34,138 INFO L290 TraceCheckUtils]: 16: Hoare triple {6775#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {6779#(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-08 04:23:34,138 INFO L290 TraceCheckUtils]: 17: Hoare triple {6779#(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 !false; {6779#(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-08 04:23:34,139 INFO L272 TraceCheckUtils]: 18: Hoare triple {6779#(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)); {6723#true} is VALID [2022-04-08 04:23:34,139 INFO L290 TraceCheckUtils]: 19: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:34,139 INFO L290 TraceCheckUtils]: 20: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:34,139 INFO L290 TraceCheckUtils]: 21: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:34,140 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6723#true} {6779#(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))} #67#return; {6779#(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-08 04:23:34,140 INFO L272 TraceCheckUtils]: 23: Hoare triple {6779#(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)); {6723#true} is VALID [2022-04-08 04:23:34,140 INFO L290 TraceCheckUtils]: 24: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:34,140 INFO L290 TraceCheckUtils]: 25: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:34,140 INFO L290 TraceCheckUtils]: 26: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:34,142 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6723#true} {6779#(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))} #69#return; {6779#(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-08 04:23:34,143 INFO L272 TraceCheckUtils]: 28: Hoare triple {6779#(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)); {6723#true} is VALID [2022-04-08 04:23:34,143 INFO L290 TraceCheckUtils]: 29: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:34,143 INFO L290 TraceCheckUtils]: 30: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:34,143 INFO L290 TraceCheckUtils]: 31: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:34,156 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6723#true} {6779#(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))} #71#return; {6779#(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-08 04:23:34,156 INFO L290 TraceCheckUtils]: 33: Hoare triple {6779#(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); {6779#(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-08 04:23:34,157 INFO L290 TraceCheckUtils]: 34: Hoare triple {6779#(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; {6834#(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-08 04:23:34,157 INFO L290 TraceCheckUtils]: 35: Hoare triple {6834#(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 !false; {6834#(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-08 04:23:34,157 INFO L272 TraceCheckUtils]: 36: Hoare triple {6834#(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)); {6723#true} is VALID [2022-04-08 04:23:34,157 INFO L290 TraceCheckUtils]: 37: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:34,158 INFO L290 TraceCheckUtils]: 38: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:34,158 INFO L290 TraceCheckUtils]: 39: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:34,158 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6723#true} {6834#(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)))} #67#return; {6834#(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-08 04:23:34,158 INFO L272 TraceCheckUtils]: 41: Hoare triple {6834#(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)); {6723#true} is VALID [2022-04-08 04:23:34,159 INFO L290 TraceCheckUtils]: 42: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:34,159 INFO L290 TraceCheckUtils]: 43: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:34,159 INFO L290 TraceCheckUtils]: 44: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:34,159 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6723#true} {6834#(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)))} #69#return; {6834#(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-08 04:23:34,160 INFO L272 TraceCheckUtils]: 46: Hoare triple {6834#(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)); {6723#true} is VALID [2022-04-08 04:23:34,160 INFO L290 TraceCheckUtils]: 47: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:34,160 INFO L290 TraceCheckUtils]: 48: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:34,160 INFO L290 TraceCheckUtils]: 49: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:34,161 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6723#true} {6834#(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)))} #71#return; {6834#(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-08 04:23:34,161 INFO L290 TraceCheckUtils]: 51: Hoare triple {6834#(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); {6834#(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-08 04:23:34,162 INFO L290 TraceCheckUtils]: 52: Hoare triple {6834#(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; {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:34,163 INFO L290 TraceCheckUtils]: 53: Hoare triple {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} assume !false; {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:34,163 INFO L272 TraceCheckUtils]: 54: Hoare triple {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~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)); {6723#true} is VALID [2022-04-08 04:23:34,163 INFO L290 TraceCheckUtils]: 55: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:34,163 INFO L290 TraceCheckUtils]: 56: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:34,163 INFO L290 TraceCheckUtils]: 57: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:34,164 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {6723#true} {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} #67#return; {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~0) (<= 1 main_~y~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:34,165 INFO L272 TraceCheckUtils]: 59: Hoare triple {6889#(and (= (- 2) main_~r~0) (= (+ main_~a~0 (* main_~y~0 2)) main_~x~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)); {6911#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:34,165 INFO L290 TraceCheckUtils]: 60: Hoare triple {6911#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6915#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:34,165 INFO L290 TraceCheckUtils]: 61: Hoare triple {6915#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6724#false} is VALID [2022-04-08 04:23:34,165 INFO L290 TraceCheckUtils]: 62: Hoare triple {6724#false} assume !false; {6724#false} is VALID [2022-04-08 04:23:34,166 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 17 proven. 12 refuted. 0 times theorem prover too weak. 85 trivial. 0 not checked. [2022-04-08 04:23:34,166 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:23:34,425 INFO L290 TraceCheckUtils]: 62: Hoare triple {6724#false} assume !false; {6724#false} is VALID [2022-04-08 04:23:34,426 INFO L290 TraceCheckUtils]: 61: Hoare triple {6915#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6724#false} is VALID [2022-04-08 04:23:34,426 INFO L290 TraceCheckUtils]: 60: Hoare triple {6911#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6915#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:34,427 INFO L272 TraceCheckUtils]: 59: Hoare triple {6931#(= 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)); {6911#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:34,427 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {6723#true} {6931#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {6931#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:23:34,427 INFO L290 TraceCheckUtils]: 57: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:34,427 INFO L290 TraceCheckUtils]: 56: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:34,427 INFO L290 TraceCheckUtils]: 55: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:34,427 INFO L272 TraceCheckUtils]: 54: Hoare triple {6931#(= 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)); {6723#true} is VALID [2022-04-08 04:23:34,428 INFO L290 TraceCheckUtils]: 53: Hoare triple {6931#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {6931#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:23:35,058 INFO L290 TraceCheckUtils]: 52: Hoare triple {6953#(= (+ 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; {6931#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:23:35,059 INFO L290 TraceCheckUtils]: 51: Hoare triple {6953#(= (+ 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); {6953#(= (+ 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-08 04:23:35,059 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {6723#true} {6953#(= (+ 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)))))} #71#return; {6953#(= (+ 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-08 04:23:35,060 INFO L290 TraceCheckUtils]: 49: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:35,060 INFO L290 TraceCheckUtils]: 48: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:35,060 INFO L290 TraceCheckUtils]: 47: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:35,060 INFO L272 TraceCheckUtils]: 46: Hoare triple {6953#(= (+ 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)); {6723#true} is VALID [2022-04-08 04:23:35,060 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {6723#true} {6953#(= (+ 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)))))} #69#return; {6953#(= (+ 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-08 04:23:35,060 INFO L290 TraceCheckUtils]: 44: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:35,060 INFO L290 TraceCheckUtils]: 43: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:35,061 INFO L290 TraceCheckUtils]: 42: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:35,061 INFO L272 TraceCheckUtils]: 41: Hoare triple {6953#(= (+ 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)); {6723#true} is VALID [2022-04-08 04:23:35,061 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {6723#true} {6953#(= (+ 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)))))} #67#return; {6953#(= (+ 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-08 04:23:35,061 INFO L290 TraceCheckUtils]: 39: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:35,061 INFO L290 TraceCheckUtils]: 38: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:35,061 INFO L290 TraceCheckUtils]: 37: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:35,061 INFO L272 TraceCheckUtils]: 36: Hoare triple {6953#(= (+ 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)); {6723#true} is VALID [2022-04-08 04:23:35,062 INFO L290 TraceCheckUtils]: 35: Hoare triple {6953#(= (+ 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 !false; {6953#(= (+ 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-08 04:23:35,665 INFO L290 TraceCheckUtils]: 34: Hoare triple {7008#(= (+ (* 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; {6953#(= (+ 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-08 04:23:35,666 INFO L290 TraceCheckUtils]: 33: Hoare triple {7008#(= (+ (* 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); {7008#(= (+ (* 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-08 04:23:35,667 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {6723#true} {7008#(= (+ (* 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))} #71#return; {7008#(= (+ (* 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-08 04:23:35,667 INFO L290 TraceCheckUtils]: 31: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:35,667 INFO L290 TraceCheckUtils]: 30: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:35,667 INFO L290 TraceCheckUtils]: 29: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:35,667 INFO L272 TraceCheckUtils]: 28: Hoare triple {7008#(= (+ (* 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)); {6723#true} is VALID [2022-04-08 04:23:35,668 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {6723#true} {7008#(= (+ (* 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))} #69#return; {7008#(= (+ (* 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-08 04:23:35,668 INFO L290 TraceCheckUtils]: 26: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:35,668 INFO L290 TraceCheckUtils]: 25: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:35,668 INFO L290 TraceCheckUtils]: 24: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:35,669 INFO L272 TraceCheckUtils]: 23: Hoare triple {7008#(= (+ (* 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)); {6723#true} is VALID [2022-04-08 04:23:35,669 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {6723#true} {7008#(= (+ (* 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))} #67#return; {7008#(= (+ (* 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-08 04:23:35,669 INFO L290 TraceCheckUtils]: 21: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:35,670 INFO L290 TraceCheckUtils]: 20: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:35,670 INFO L290 TraceCheckUtils]: 19: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:35,670 INFO L272 TraceCheckUtils]: 18: Hoare triple {7008#(= (+ (* 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)); {6723#true} is VALID [2022-04-08 04:23:35,670 INFO L290 TraceCheckUtils]: 17: Hoare triple {7008#(= (+ (* 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 !false; {7008#(= (+ (* 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-08 04:23:35,671 INFO L290 TraceCheckUtils]: 16: Hoare triple {6723#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {7008#(= (+ (* 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-08 04:23:35,671 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6723#true} {6723#true} #65#return; {6723#true} is VALID [2022-04-08 04:23:35,671 INFO L290 TraceCheckUtils]: 14: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:35,671 INFO L290 TraceCheckUtils]: 13: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:35,671 INFO L290 TraceCheckUtils]: 12: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:35,671 INFO L272 TraceCheckUtils]: 11: Hoare triple {6723#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {6723#true} is VALID [2022-04-08 04:23:35,671 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6723#true} {6723#true} #63#return; {6723#true} is VALID [2022-04-08 04:23:35,671 INFO L290 TraceCheckUtils]: 9: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:35,671 INFO L290 TraceCheckUtils]: 8: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-08 04:23:35,672 INFO L290 TraceCheckUtils]: 7: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-08 04:23:35,672 INFO L272 TraceCheckUtils]: 6: Hoare triple {6723#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {6723#true} is VALID [2022-04-08 04:23:35,672 INFO L290 TraceCheckUtils]: 5: Hoare triple {6723#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; {6723#true} is VALID [2022-04-08 04:23:35,672 INFO L272 TraceCheckUtils]: 4: Hoare triple {6723#true} call #t~ret6 := main(); {6723#true} is VALID [2022-04-08 04:23:35,672 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6723#true} {6723#true} #81#return; {6723#true} is VALID [2022-04-08 04:23:35,672 INFO L290 TraceCheckUtils]: 2: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-08 04:23:35,672 INFO L290 TraceCheckUtils]: 1: Hoare triple {6723#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); {6723#true} is VALID [2022-04-08 04:23:35,672 INFO L272 TraceCheckUtils]: 0: Hoare triple {6723#true} call ULTIMATE.init(); {6723#true} is VALID [2022-04-08 04:23:35,672 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 14 proven. 12 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-08 04:23:35,673 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:23:35,673 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1053460742] [2022-04-08 04:23:35,673 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:23:35,673 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1452646816] [2022-04-08 04:23:35,673 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1452646816] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:23:35,673 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:23:35,673 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 7] total 13 [2022-04-08 04:23:35,673 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:23:35,673 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1267374975] [2022-04-08 04:23:35,673 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1267374975] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:23:35,673 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:23:35,674 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 04:23:35,674 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1528608219] [2022-04-08 04:23:35,674 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:23:35,674 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-08 04:23:35,674 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:23:35,674 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:23:35,713 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:35,713 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 04:23:35,713 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:35,714 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 04:23:35,714 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-08 04:23:35,714 INFO L87 Difference]: Start difference. First operand 129 states and 159 transitions. Second operand has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:23:37,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:37,169 INFO L93 Difference]: Finished difference Result 163 states and 201 transitions. [2022-04-08 04:23:37,169 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 04:23:37,169 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-08 04:23:37,169 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:23:37,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:23:37,170 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-08 04:23:37,170 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:23:37,171 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-08 04:23:37,171 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 80 transitions. [2022-04-08 04:23:37,269 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:37,272 INFO L225 Difference]: With dead ends: 163 [2022-04-08 04:23:37,272 INFO L226 Difference]: Without dead ends: 161 [2022-04-08 04:23:37,272 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 127 GetRequests, 113 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=41, Invalid=169, Unknown=0, NotChecked=0, Total=210 [2022-04-08 04:23:37,273 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 20 mSDsluCounter, 129 mSDsCounter, 0 mSdLazyCounter, 270 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 174 SdHoareTripleChecker+Invalid, 292 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 270 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-08 04:23:37,273 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 174 Invalid, 292 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 270 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-08 04:23:37,273 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-08 04:23:37,408 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 147. [2022-04-08 04:23:37,408 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:23:37,409 INFO L82 GeneralOperation]: Start isEquivalent. First operand 161 states. Second operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 04:23:37,409 INFO L74 IsIncluded]: Start isIncluded. First operand 161 states. Second operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 04:23:37,409 INFO L87 Difference]: Start difference. First operand 161 states. Second operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 04:23:37,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:37,413 INFO L93 Difference]: Finished difference Result 161 states and 199 transitions. [2022-04-08 04:23:37,413 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 199 transitions. [2022-04-08 04:23:37,414 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:37,414 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:37,414 INFO L74 IsIncluded]: Start isIncluded. First operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) Second operand 161 states. [2022-04-08 04:23:37,414 INFO L87 Difference]: Start difference. First operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) Second operand 161 states. [2022-04-08 04:23:37,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:37,417 INFO L93 Difference]: Finished difference Result 161 states and 199 transitions. [2022-04-08 04:23:37,417 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 199 transitions. [2022-04-08 04:23:37,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:37,418 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:37,418 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:23:37,418 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:23:37,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 147 states, 87 states have (on average 1.1494252873563218) internal successors, (100), 90 states have internal predecessors, (100), 40 states have call successors, (40), 20 states have call predecessors, (40), 19 states have return successors, (38), 36 states have call predecessors, (38), 38 states have call successors, (38) [2022-04-08 04:23:37,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 147 states to 147 states and 178 transitions. [2022-04-08 04:23:37,422 INFO L78 Accepts]: Start accepts. Automaton has 147 states and 178 transitions. Word has length 63 [2022-04-08 04:23:37,422 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:23:37,422 INFO L478 AbstractCegarLoop]: Abstraction has 147 states and 178 transitions. [2022-04-08 04:23:37,423 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.3) internal successors, (23), 8 states have internal predecessors, (23), 4 states have call successors, (12), 2 states have call predecessors, (12), 2 states have return successors, (10), 5 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:23:37,423 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 147 states and 178 transitions. [2022-04-08 04:23:37,639 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 178 edges. 178 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:37,639 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 178 transitions. [2022-04-08 04:23:37,640 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-08 04:23:37,640 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:23:37,640 INFO L499 BasicCegarLoop]: trace histogram [8, 7, 7, 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-08 04:23:37,659 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-08 04:23:37,840 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable10 [2022-04-08 04:23:37,841 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:23:37,841 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:23:37,841 INFO L85 PathProgramCache]: Analyzing trace with hash -522529, now seen corresponding path program 3 times [2022-04-08 04:23:37,841 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:37,841 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [529830272] [2022-04-08 04:23:37,841 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:23:37,841 INFO L85 PathProgramCache]: Analyzing trace with hash -522529, now seen corresponding path program 4 times [2022-04-08 04:23:37,841 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:23:37,842 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [816656400] [2022-04-08 04:23:37,842 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:23:37,842 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:23:37,849 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:23:37,849 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [190748070] [2022-04-08 04:23:37,849 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:23:37,849 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:23:37,850 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:23:37,857 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:23:37,859 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-08 04:23:37,895 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:23:37,895 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:23:37,896 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-08 04:23:37,905 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:23:37,909 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:23:38,259 INFO L272 TraceCheckUtils]: 0: Hoare triple {8059#true} call ULTIMATE.init(); {8059#true} is VALID [2022-04-08 04:23:38,260 INFO L290 TraceCheckUtils]: 1: Hoare triple {8059#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); {8059#true} is VALID [2022-04-08 04:23:38,260 INFO L290 TraceCheckUtils]: 2: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,260 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8059#true} {8059#true} #81#return; {8059#true} is VALID [2022-04-08 04:23:38,260 INFO L272 TraceCheckUtils]: 4: Hoare triple {8059#true} call #t~ret6 := main(); {8059#true} is VALID [2022-04-08 04:23:38,260 INFO L290 TraceCheckUtils]: 5: Hoare triple {8059#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; {8059#true} is VALID [2022-04-08 04:23:38,260 INFO L272 TraceCheckUtils]: 6: Hoare triple {8059#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8059#true} is VALID [2022-04-08 04:23:38,260 INFO L290 TraceCheckUtils]: 7: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,260 INFO L290 TraceCheckUtils]: 8: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,260 INFO L290 TraceCheckUtils]: 9: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,260 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8059#true} {8059#true} #63#return; {8059#true} is VALID [2022-04-08 04:23:38,260 INFO L272 TraceCheckUtils]: 11: Hoare triple {8059#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8059#true} is VALID [2022-04-08 04:23:38,260 INFO L290 TraceCheckUtils]: 12: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,260 INFO L290 TraceCheckUtils]: 13: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,261 INFO L290 TraceCheckUtils]: 14: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,261 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8059#true} {8059#true} #65#return; {8059#true} is VALID [2022-04-08 04:23:38,261 INFO L290 TraceCheckUtils]: 16: Hoare triple {8059#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8112#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:38,261 INFO L290 TraceCheckUtils]: 17: Hoare triple {8112#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {8112#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:38,261 INFO L272 TraceCheckUtils]: 18: Hoare triple {8112#(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)); {8059#true} is VALID [2022-04-08 04:23:38,261 INFO L290 TraceCheckUtils]: 19: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,261 INFO L290 TraceCheckUtils]: 20: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,262 INFO L290 TraceCheckUtils]: 21: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,262 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8059#true} {8112#(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))} #67#return; {8112#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:38,262 INFO L272 TraceCheckUtils]: 23: Hoare triple {8112#(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)); {8059#true} is VALID [2022-04-08 04:23:38,262 INFO L290 TraceCheckUtils]: 24: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,262 INFO L290 TraceCheckUtils]: 25: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,262 INFO L290 TraceCheckUtils]: 26: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,263 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8059#true} {8112#(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))} #69#return; {8112#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:38,263 INFO L272 TraceCheckUtils]: 28: Hoare triple {8112#(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)); {8059#true} is VALID [2022-04-08 04:23:38,263 INFO L290 TraceCheckUtils]: 29: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,263 INFO L290 TraceCheckUtils]: 30: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,263 INFO L290 TraceCheckUtils]: 31: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,264 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8059#true} {8112#(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))} #71#return; {8112#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:38,264 INFO L290 TraceCheckUtils]: 33: Hoare triple {8112#(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); {8112#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:38,264 INFO L290 TraceCheckUtils]: 34: Hoare triple {8112#(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; {8167#(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-08 04:23:38,265 INFO L290 TraceCheckUtils]: 35: Hoare triple {8167#(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 !false; {8167#(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-08 04:23:38,265 INFO L272 TraceCheckUtils]: 36: Hoare triple {8167#(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)); {8059#true} is VALID [2022-04-08 04:23:38,265 INFO L290 TraceCheckUtils]: 37: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,265 INFO L290 TraceCheckUtils]: 38: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,265 INFO L290 TraceCheckUtils]: 39: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,266 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8059#true} {8167#(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))} #67#return; {8167#(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-08 04:23:38,266 INFO L272 TraceCheckUtils]: 41: Hoare triple {8167#(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)); {8059#true} is VALID [2022-04-08 04:23:38,266 INFO L290 TraceCheckUtils]: 42: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,266 INFO L290 TraceCheckUtils]: 43: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,266 INFO L290 TraceCheckUtils]: 44: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,266 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8059#true} {8167#(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))} #69#return; {8167#(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-08 04:23:38,266 INFO L272 TraceCheckUtils]: 46: Hoare triple {8167#(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)); {8059#true} is VALID [2022-04-08 04:23:38,267 INFO L290 TraceCheckUtils]: 47: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,267 INFO L290 TraceCheckUtils]: 48: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,267 INFO L290 TraceCheckUtils]: 49: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,268 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8059#true} {8167#(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))} #71#return; {8167#(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-08 04:23:38,268 INFO L290 TraceCheckUtils]: 51: Hoare triple {8167#(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); {8167#(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-08 04:23:38,269 INFO L290 TraceCheckUtils]: 52: Hoare triple {8167#(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;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-08 04:23:38,269 INFO L290 TraceCheckUtils]: 53: Hoare triple {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} assume !false; {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-08 04:23:38,270 INFO L272 TraceCheckUtils]: 54: Hoare triple {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {8059#true} is VALID [2022-04-08 04:23:38,270 INFO L290 TraceCheckUtils]: 55: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,270 INFO L290 TraceCheckUtils]: 56: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,270 INFO L290 TraceCheckUtils]: 57: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,270 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {8059#true} {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} #67#return; {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} is VALID [2022-04-08 04:23:38,271 INFO L272 TraceCheckUtils]: 59: Hoare triple {8222#(and (= main_~a~0 (+ (* main_~x~0 2) (* (- 1) main_~y~0))) (= main_~p~0 2) (= (* (- 1) main_~r~0) 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {8244#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:38,271 INFO L290 TraceCheckUtils]: 60: Hoare triple {8244#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8248#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:38,271 INFO L290 TraceCheckUtils]: 61: Hoare triple {8248#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8060#false} is VALID [2022-04-08 04:23:38,272 INFO L290 TraceCheckUtils]: 62: Hoare triple {8060#false} assume !false; {8060#false} is VALID [2022-04-08 04:23:38,272 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 14 proven. 12 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-08 04:23:38,272 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:23:38,495 INFO L290 TraceCheckUtils]: 62: Hoare triple {8060#false} assume !false; {8060#false} is VALID [2022-04-08 04:23:38,496 INFO L290 TraceCheckUtils]: 61: Hoare triple {8248#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8060#false} is VALID [2022-04-08 04:23:38,496 INFO L290 TraceCheckUtils]: 60: Hoare triple {8244#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8248#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:38,497 INFO L272 TraceCheckUtils]: 59: Hoare triple {8264#(= 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)); {8244#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:38,497 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {8059#true} {8264#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {8264#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:23:38,497 INFO L290 TraceCheckUtils]: 57: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,497 INFO L290 TraceCheckUtils]: 56: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,497 INFO L290 TraceCheckUtils]: 55: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,497 INFO L272 TraceCheckUtils]: 54: Hoare triple {8264#(= 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)); {8059#true} is VALID [2022-04-08 04:23:38,507 INFO L290 TraceCheckUtils]: 53: Hoare triple {8264#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {8264#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:23:38,639 INFO L290 TraceCheckUtils]: 52: Hoare triple {8286#(= (+ 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; {8264#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:23:38,640 INFO L290 TraceCheckUtils]: 51: Hoare triple {8286#(= (+ 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); {8286#(= (+ 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-08 04:23:38,640 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {8059#true} {8286#(= (+ 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)))))} #71#return; {8286#(= (+ 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-08 04:23:38,641 INFO L290 TraceCheckUtils]: 49: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,641 INFO L290 TraceCheckUtils]: 48: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,641 INFO L290 TraceCheckUtils]: 47: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,641 INFO L272 TraceCheckUtils]: 46: Hoare triple {8286#(= (+ 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)); {8059#true} is VALID [2022-04-08 04:23:38,641 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {8059#true} {8286#(= (+ 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)))))} #69#return; {8286#(= (+ 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-08 04:23:38,641 INFO L290 TraceCheckUtils]: 44: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,641 INFO L290 TraceCheckUtils]: 43: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,641 INFO L290 TraceCheckUtils]: 42: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,641 INFO L272 TraceCheckUtils]: 41: Hoare triple {8286#(= (+ 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)); {8059#true} is VALID [2022-04-08 04:23:38,642 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {8059#true} {8286#(= (+ 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)))))} #67#return; {8286#(= (+ 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-08 04:23:38,642 INFO L290 TraceCheckUtils]: 39: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,642 INFO L290 TraceCheckUtils]: 38: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,642 INFO L290 TraceCheckUtils]: 37: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,642 INFO L272 TraceCheckUtils]: 36: Hoare triple {8286#(= (+ 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)); {8059#true} is VALID [2022-04-08 04:23:38,643 INFO L290 TraceCheckUtils]: 35: Hoare triple {8286#(= (+ 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 !false; {8286#(= (+ 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-08 04:23:38,876 INFO L290 TraceCheckUtils]: 34: Hoare triple {8341#(= (+ (* (+ (* 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; {8286#(= (+ 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-08 04:23:38,876 INFO L290 TraceCheckUtils]: 33: Hoare triple {8341#(= (+ (* (+ (* 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); {8341#(= (+ (* (+ (* 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-08 04:23:38,877 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {8059#true} {8341#(= (+ (* (+ (* 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)))} #71#return; {8341#(= (+ (* (+ (* 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-08 04:23:38,877 INFO L290 TraceCheckUtils]: 31: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,877 INFO L290 TraceCheckUtils]: 30: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,877 INFO L290 TraceCheckUtils]: 29: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,877 INFO L272 TraceCheckUtils]: 28: Hoare triple {8341#(= (+ (* (+ (* 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)); {8059#true} is VALID [2022-04-08 04:23:38,878 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {8059#true} {8341#(= (+ (* (+ (* 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)))} #69#return; {8341#(= (+ (* (+ (* 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-08 04:23:38,878 INFO L290 TraceCheckUtils]: 26: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,878 INFO L290 TraceCheckUtils]: 25: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,878 INFO L290 TraceCheckUtils]: 24: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,878 INFO L272 TraceCheckUtils]: 23: Hoare triple {8341#(= (+ (* (+ (* 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)); {8059#true} is VALID [2022-04-08 04:23:38,879 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {8059#true} {8341#(= (+ (* (+ (* 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)))} #67#return; {8341#(= (+ (* (+ (* 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-08 04:23:38,879 INFO L290 TraceCheckUtils]: 21: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,879 INFO L290 TraceCheckUtils]: 20: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,879 INFO L290 TraceCheckUtils]: 19: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,879 INFO L272 TraceCheckUtils]: 18: Hoare triple {8341#(= (+ (* (+ (* 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)); {8059#true} is VALID [2022-04-08 04:23:38,879 INFO L290 TraceCheckUtils]: 17: Hoare triple {8341#(= (+ (* (+ (* 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 !false; {8341#(= (+ (* (+ (* 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-08 04:23:38,880 INFO L290 TraceCheckUtils]: 16: Hoare triple {8059#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {8341#(= (+ (* (+ (* 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-08 04:23:38,880 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8059#true} {8059#true} #65#return; {8059#true} is VALID [2022-04-08 04:23:38,880 INFO L290 TraceCheckUtils]: 14: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,880 INFO L290 TraceCheckUtils]: 13: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,880 INFO L290 TraceCheckUtils]: 12: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,880 INFO L272 TraceCheckUtils]: 11: Hoare triple {8059#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {8059#true} is VALID [2022-04-08 04:23:38,880 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8059#true} {8059#true} #63#return; {8059#true} is VALID [2022-04-08 04:23:38,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-08 04:23:38,880 INFO L290 TraceCheckUtils]: 7: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-08 04:23:38,880 INFO L272 TraceCheckUtils]: 6: Hoare triple {8059#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {8059#true} is VALID [2022-04-08 04:23:38,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {8059#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; {8059#true} is VALID [2022-04-08 04:23:38,880 INFO L272 TraceCheckUtils]: 4: Hoare triple {8059#true} call #t~ret6 := main(); {8059#true} is VALID [2022-04-08 04:23:38,880 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8059#true} {8059#true} #81#return; {8059#true} is VALID [2022-04-08 04:23:38,881 INFO L290 TraceCheckUtils]: 2: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-08 04:23:38,881 INFO L290 TraceCheckUtils]: 1: Hoare triple {8059#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); {8059#true} is VALID [2022-04-08 04:23:38,881 INFO L272 TraceCheckUtils]: 0: Hoare triple {8059#true} call ULTIMATE.init(); {8059#true} is VALID [2022-04-08 04:23:38,881 INFO L134 CoverageAnalysis]: Checked inductivity of 114 backedges. 14 proven. 12 refuted. 0 times theorem prover too weak. 88 trivial. 0 not checked. [2022-04-08 04:23:38,881 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:23:38,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [816656400] [2022-04-08 04:23:38,881 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:23:38,881 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [190748070] [2022-04-08 04:23:38,881 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [190748070] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:23:38,881 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:23:38,881 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-08 04:23:38,882 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:23:38,882 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [529830272] [2022-04-08 04:23:38,882 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [529830272] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:23:38,882 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:23:38,882 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-08 04:23:38,882 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [238235232] [2022-04-08 04:23:38,882 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:23:38,882 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-08 04:23:38,882 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:23:38,883 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:23:38,924 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:38,924 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-08 04:23:38,924 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:38,925 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-08 04:23:38,925 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-08 04:23:38,925 INFO L87 Difference]: Start difference. First operand 147 states and 178 transitions. Second operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:23:39,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:39,596 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-08 04:23:39,596 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-08 04:23:39,597 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) Word has length 63 [2022-04-08 04:23:39,597 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:23:39,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:23:39,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2022-04-08 04:23:39,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:23:39,601 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2022-04-08 04:23:39,601 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 80 transitions. [2022-04-08 04:23:39,666 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:39,669 INFO L225 Difference]: With dead ends: 185 [2022-04-08 04:23:39,669 INFO L226 Difference]: Without dead ends: 183 [2022-04-08 04:23:39,669 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 126 GetRequests, 116 SyntacticMatches, 1 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-04-08 04:23:39,670 INFO L913 BasicCegarLoop]: 49 mSDtfsCounter, 8 mSDsluCounter, 132 mSDsCounter, 0 mSdLazyCounter, 203 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 209 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 203 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-08 04:23:39,670 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 181 Invalid, 209 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 203 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-08 04:23:39,670 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 183 states. [2022-04-08 04:23:39,796 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 183 to 169. [2022-04-08 04:23:39,796 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:23:39,796 INFO L82 GeneralOperation]: Start isEquivalent. First operand 183 states. Second operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 04:23:39,796 INFO L74 IsIncluded]: Start isIncluded. First operand 183 states. Second operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 04:23:39,797 INFO L87 Difference]: Start difference. First operand 183 states. Second operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 04:23:39,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:39,800 INFO L93 Difference]: Finished difference Result 183 states and 221 transitions. [2022-04-08 04:23:39,800 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 221 transitions. [2022-04-08 04:23:39,800 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:39,800 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:39,801 INFO L74 IsIncluded]: Start isIncluded. First operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) Second operand 183 states. [2022-04-08 04:23:39,801 INFO L87 Difference]: Start difference. First operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) Second operand 183 states. [2022-04-08 04:23:39,804 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:39,804 INFO L93 Difference]: Finished difference Result 183 states and 221 transitions. [2022-04-08 04:23:39,804 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 221 transitions. [2022-04-08 04:23:39,804 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:39,804 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:39,804 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:23:39,804 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:23:39,805 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 169 states, 102 states have (on average 1.1372549019607843) internal successors, (116), 105 states have internal predecessors, (116), 43 states have call successors, (43), 24 states have call predecessors, (43), 23 states have return successors, (41), 39 states have call predecessors, (41), 41 states have call successors, (41) [2022-04-08 04:23:39,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 169 states to 169 states and 200 transitions. [2022-04-08 04:23:39,808 INFO L78 Accepts]: Start accepts. Automaton has 169 states and 200 transitions. Word has length 63 [2022-04-08 04:23:39,808 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:23:39,808 INFO L478 AbstractCegarLoop]: Abstraction has 169 states and 200 transitions. [2022-04-08 04:23:39,808 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 2.857142857142857) internal successors, (20), 6 states have internal predecessors, (20), 4 states have call successors, (12), 2 states have call predecessors, (12), 1 states have return successors, (10), 4 states have call predecessors, (10), 4 states have call successors, (10) [2022-04-08 04:23:39,808 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 169 states and 200 transitions. [2022-04-08 04:23:40,053 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 200 edges. 200 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:40,054 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 200 transitions. [2022-04-08 04:23:40,054 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-08 04:23:40,054 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:23:40,054 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 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-08 04:23:40,070 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-04-08 04:23:40,263 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-08 04:23:40,263 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:23:40,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:23:40,264 INFO L85 PathProgramCache]: Analyzing trace with hash 1383919957, now seen corresponding path program 5 times [2022-04-08 04:23:40,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:40,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1001909157] [2022-04-08 04:23:40,264 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:23:40,264 INFO L85 PathProgramCache]: Analyzing trace with hash 1383919957, now seen corresponding path program 6 times [2022-04-08 04:23:40,264 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:23:40,264 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [414690987] [2022-04-08 04:23:40,264 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:23:40,265 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:23:40,273 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:23:40,273 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [465672993] [2022-04-08 04:23:40,273 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:23:40,273 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:23:40,274 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:23:40,274 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:23:40,275 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-08 04:23:40,326 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 04:23:40,326 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:23:40,327 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-08 04:23:40,338 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:23:40,340 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:23:40,793 INFO L272 TraceCheckUtils]: 0: Hoare triple {9522#true} call ULTIMATE.init(); {9522#true} is VALID [2022-04-08 04:23:40,793 INFO L290 TraceCheckUtils]: 1: Hoare triple {9522#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); {9522#true} is VALID [2022-04-08 04:23:40,793 INFO L290 TraceCheckUtils]: 2: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:40,793 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9522#true} {9522#true} #81#return; {9522#true} is VALID [2022-04-08 04:23:40,793 INFO L272 TraceCheckUtils]: 4: Hoare triple {9522#true} call #t~ret6 := main(); {9522#true} is VALID [2022-04-08 04:23:40,793 INFO L290 TraceCheckUtils]: 5: Hoare triple {9522#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; {9522#true} is VALID [2022-04-08 04:23:40,794 INFO L272 TraceCheckUtils]: 6: Hoare triple {9522#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9522#true} is VALID [2022-04-08 04:23:40,794 INFO L290 TraceCheckUtils]: 7: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:40,794 INFO L290 TraceCheckUtils]: 8: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:40,794 INFO L290 TraceCheckUtils]: 9: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:40,794 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9522#true} {9522#true} #63#return; {9522#true} is VALID [2022-04-08 04:23:40,794 INFO L272 TraceCheckUtils]: 11: Hoare triple {9522#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9522#true} is VALID [2022-04-08 04:23:40,794 INFO L290 TraceCheckUtils]: 12: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:40,794 INFO L290 TraceCheckUtils]: 13: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:40,794 INFO L290 TraceCheckUtils]: 14: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:40,794 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9522#true} {9522#true} #65#return; {9522#true} is VALID [2022-04-08 04:23:40,794 INFO L290 TraceCheckUtils]: 16: Hoare triple {9522#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9575#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:40,795 INFO L290 TraceCheckUtils]: 17: Hoare triple {9575#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {9575#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:40,795 INFO L272 TraceCheckUtils]: 18: Hoare triple {9575#(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)); {9522#true} is VALID [2022-04-08 04:23:40,795 INFO L290 TraceCheckUtils]: 19: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:40,795 INFO L290 TraceCheckUtils]: 20: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:40,795 INFO L290 TraceCheckUtils]: 21: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:40,796 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9522#true} {9575#(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))} #67#return; {9575#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:40,796 INFO L272 TraceCheckUtils]: 23: Hoare triple {9575#(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)); {9522#true} is VALID [2022-04-08 04:23:40,796 INFO L290 TraceCheckUtils]: 24: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:40,796 INFO L290 TraceCheckUtils]: 25: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:40,796 INFO L290 TraceCheckUtils]: 26: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:40,797 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9522#true} {9575#(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))} #69#return; {9575#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:40,797 INFO L272 TraceCheckUtils]: 28: Hoare triple {9575#(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)); {9522#true} is VALID [2022-04-08 04:23:40,797 INFO L290 TraceCheckUtils]: 29: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:40,797 INFO L290 TraceCheckUtils]: 30: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:40,797 INFO L290 TraceCheckUtils]: 31: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:40,797 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9522#true} {9575#(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))} #71#return; {9575#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:40,798 INFO L290 TraceCheckUtils]: 33: Hoare triple {9575#(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); {9575#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:40,798 INFO L290 TraceCheckUtils]: 34: Hoare triple {9575#(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; {9630#(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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:23:40,798 INFO L290 TraceCheckUtils]: 35: Hoare triple {9630#(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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {9630#(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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:23:40,798 INFO L272 TraceCheckUtils]: 36: Hoare triple {9630#(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) (= 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)); {9522#true} is VALID [2022-04-08 04:23:40,799 INFO L290 TraceCheckUtils]: 37: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:40,799 INFO L290 TraceCheckUtils]: 38: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:40,799 INFO L290 TraceCheckUtils]: 39: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:40,799 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {9522#true} {9630#(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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #67#return; {9630#(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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:23:40,799 INFO L272 TraceCheckUtils]: 41: Hoare triple {9630#(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) (= 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)); {9522#true} is VALID [2022-04-08 04:23:40,799 INFO L290 TraceCheckUtils]: 42: Hoare triple {9522#true} ~cond := #in~cond; {9655#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:40,800 INFO L290 TraceCheckUtils]: 43: Hoare triple {9655#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:40,800 INFO L290 TraceCheckUtils]: 44: Hoare triple {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:40,800 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} {9630#(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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #69#return; {9630#(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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:23:40,801 INFO L272 TraceCheckUtils]: 46: Hoare triple {9630#(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) (= 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)); {9522#true} is VALID [2022-04-08 04:23:40,801 INFO L290 TraceCheckUtils]: 47: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:40,801 INFO L290 TraceCheckUtils]: 48: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:40,801 INFO L290 TraceCheckUtils]: 49: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:40,801 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9522#true} {9630#(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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #71#return; {9630#(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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:23:40,802 INFO L290 TraceCheckUtils]: 51: Hoare triple {9630#(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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {9630#(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) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:23:40,802 INFO L290 TraceCheckUtils]: 52: Hoare triple {9630#(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) (= 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; {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} is VALID [2022-04-08 04:23:40,803 INFO L290 TraceCheckUtils]: 53: Hoare triple {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} assume !false; {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} is VALID [2022-04-08 04:23:40,803 INFO L272 TraceCheckUtils]: 54: Hoare triple {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {9522#true} is VALID [2022-04-08 04:23:40,803 INFO L290 TraceCheckUtils]: 55: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:40,803 INFO L290 TraceCheckUtils]: 56: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:40,803 INFO L290 TraceCheckUtils]: 57: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:40,804 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {9522#true} {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} #67#return; {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} is VALID [2022-04-08 04:23:40,804 INFO L272 TraceCheckUtils]: 59: Hoare triple {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {9522#true} is VALID [2022-04-08 04:23:40,804 INFO L290 TraceCheckUtils]: 60: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:40,804 INFO L290 TraceCheckUtils]: 61: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:40,804 INFO L290 TraceCheckUtils]: 62: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:40,804 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {9522#true} {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} #69#return; {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} is VALID [2022-04-08 04:23:40,805 INFO L272 TraceCheckUtils]: 64: Hoare triple {9687#(and (= main_~x~0 (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (= (- 1) main_~q~0) (= (- 1) (+ (* (- 1) main_~s~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {9724#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:40,805 INFO L290 TraceCheckUtils]: 65: Hoare triple {9724#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9728#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:40,805 INFO L290 TraceCheckUtils]: 66: Hoare triple {9728#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9523#false} is VALID [2022-04-08 04:23:40,805 INFO L290 TraceCheckUtils]: 67: Hoare triple {9523#false} assume !false; {9523#false} is VALID [2022-04-08 04:23:40,806 INFO L134 CoverageAnalysis]: Checked inductivity of 146 backedges. 27 proven. 24 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-08 04:23:40,806 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:23:53,576 INFO L290 TraceCheckUtils]: 67: Hoare triple {9523#false} assume !false; {9523#false} is VALID [2022-04-08 04:23:53,577 INFO L290 TraceCheckUtils]: 66: Hoare triple {9728#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9523#false} is VALID [2022-04-08 04:23:53,577 INFO L290 TraceCheckUtils]: 65: Hoare triple {9724#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9728#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:53,578 INFO L272 TraceCheckUtils]: 64: Hoare triple {9744#(= 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)); {9724#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:53,578 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {9522#true} {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #69#return; {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:53,578 INFO L290 TraceCheckUtils]: 62: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:53,578 INFO L290 TraceCheckUtils]: 61: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:53,579 INFO L290 TraceCheckUtils]: 60: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:53,579 INFO L272 TraceCheckUtils]: 59: Hoare triple {9744#(= 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)); {9522#true} is VALID [2022-04-08 04:23:53,580 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {9522#true} {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #67#return; {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:53,580 INFO L290 TraceCheckUtils]: 57: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:53,580 INFO L290 TraceCheckUtils]: 56: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:53,580 INFO L290 TraceCheckUtils]: 55: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:53,580 INFO L272 TraceCheckUtils]: 54: Hoare triple {9744#(= 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)); {9522#true} is VALID [2022-04-08 04:23:53,580 INFO L290 TraceCheckUtils]: 53: Hoare triple {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:53,848 INFO L290 TraceCheckUtils]: 52: Hoare triple {9781#(= (+ (* (+ 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; {9744#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:23:53,848 INFO L290 TraceCheckUtils]: 51: Hoare triple {9781#(= (+ (* (+ 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); {9781#(= (+ (* (+ 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-08 04:23:53,849 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9522#true} {9781#(= (+ (* (+ 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))} #71#return; {9781#(= (+ (* (+ 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-08 04:23:53,849 INFO L290 TraceCheckUtils]: 49: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:53,849 INFO L290 TraceCheckUtils]: 48: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:53,849 INFO L290 TraceCheckUtils]: 47: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:53,849 INFO L272 TraceCheckUtils]: 46: Hoare triple {9781#(= (+ (* (+ 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)); {9522#true} is VALID [2022-04-08 04:23:53,850 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} {9803#(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)))} #69#return; {9781#(= (+ (* (+ 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-08 04:23:53,850 INFO L290 TraceCheckUtils]: 44: Hoare triple {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:53,850 INFO L290 TraceCheckUtils]: 43: Hoare triple {9813#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {9659#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:53,851 INFO L290 TraceCheckUtils]: 42: Hoare triple {9522#true} ~cond := #in~cond; {9813#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:23:53,851 INFO L272 TraceCheckUtils]: 41: Hoare triple {9803#(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)); {9522#true} is VALID [2022-04-08 04:23:53,851 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {9522#true} {9803#(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)))} #67#return; {9803#(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-08 04:23:53,851 INFO L290 TraceCheckUtils]: 39: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:53,852 INFO L290 TraceCheckUtils]: 38: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:53,852 INFO L290 TraceCheckUtils]: 37: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:53,852 INFO L272 TraceCheckUtils]: 36: Hoare triple {9803#(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)); {9522#true} is VALID [2022-04-08 04:23:53,852 INFO L290 TraceCheckUtils]: 35: Hoare triple {9803#(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 !false; {9803#(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-08 04:23:53,967 INFO L290 TraceCheckUtils]: 34: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* 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; {9803#(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-08 04:23:53,968 INFO L290 TraceCheckUtils]: 33: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* 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); {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* 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-08 04:23:53,969 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {9522#true} {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* 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)))))))} #71#return; {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* 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-08 04:23:53,969 INFO L290 TraceCheckUtils]: 31: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:53,969 INFO L290 TraceCheckUtils]: 30: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:53,969 INFO L290 TraceCheckUtils]: 29: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:53,969 INFO L272 TraceCheckUtils]: 28: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* 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)); {9522#true} is VALID [2022-04-08 04:23:53,970 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {9522#true} {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* 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)))))))} #69#return; {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* 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-08 04:23:53,970 INFO L290 TraceCheckUtils]: 26: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:53,970 INFO L290 TraceCheckUtils]: 25: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:53,970 INFO L290 TraceCheckUtils]: 24: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:53,970 INFO L272 TraceCheckUtils]: 23: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* 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)); {9522#true} is VALID [2022-04-08 04:23:53,971 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {9522#true} {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* 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)))))))} #67#return; {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* 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-08 04:23:53,971 INFO L290 TraceCheckUtils]: 21: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:53,971 INFO L290 TraceCheckUtils]: 20: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:53,971 INFO L290 TraceCheckUtils]: 19: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:53,971 INFO L272 TraceCheckUtils]: 18: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* 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)); {9522#true} is VALID [2022-04-08 04:23:53,981 INFO L290 TraceCheckUtils]: 17: Hoare triple {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* 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 !false; {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* 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-08 04:23:53,982 INFO L290 TraceCheckUtils]: 16: Hoare triple {9522#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {9838#(or (= (+ (* (+ (* main_~q~0 2) (* (- 1) main_~p~0)) main_~x~0) (* main_~y~0 (+ (* main_~s~0 2) (* (- 1) main_~r~0)))) (+ main_~b~0 (* (- 1) (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0)) (* (- 1) (* 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-08 04:23:53,982 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9522#true} {9522#true} #65#return; {9522#true} is VALID [2022-04-08 04:23:53,982 INFO L290 TraceCheckUtils]: 14: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:53,982 INFO L290 TraceCheckUtils]: 13: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:53,982 INFO L290 TraceCheckUtils]: 12: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:53,982 INFO L272 TraceCheckUtils]: 11: Hoare triple {9522#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {9522#true} is VALID [2022-04-08 04:23:53,982 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9522#true} {9522#true} #63#return; {9522#true} is VALID [2022-04-08 04:23:53,982 INFO L290 TraceCheckUtils]: 9: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:53,983 INFO L290 TraceCheckUtils]: 8: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-08 04:23:53,983 INFO L290 TraceCheckUtils]: 7: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-08 04:23:53,983 INFO L272 TraceCheckUtils]: 6: Hoare triple {9522#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {9522#true} is VALID [2022-04-08 04:23:53,983 INFO L290 TraceCheckUtils]: 5: Hoare triple {9522#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; {9522#true} is VALID [2022-04-08 04:23:53,983 INFO L272 TraceCheckUtils]: 4: Hoare triple {9522#true} call #t~ret6 := main(); {9522#true} is VALID [2022-04-08 04:23:53,983 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9522#true} {9522#true} #81#return; {9522#true} is VALID [2022-04-08 04:23:53,983 INFO L290 TraceCheckUtils]: 2: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-08 04:23:53,983 INFO L290 TraceCheckUtils]: 1: Hoare triple {9522#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); {9522#true} is VALID [2022-04-08 04:23:53,983 INFO L272 TraceCheckUtils]: 0: Hoare triple {9522#true} call ULTIMATE.init(); {9522#true} is VALID [2022-04-08 04:23:53,984 INFO L134 CoverageAnalysis]: Checked inductivity of 146 backedges. 34 proven. 17 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-08 04:23:53,984 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:23:53,984 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [414690987] [2022-04-08 04:23:53,984 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:23:53,984 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [465672993] [2022-04-08 04:23:53,984 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [465672993] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:23:53,984 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:23:53,984 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-08 04:23:53,985 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:23:53,985 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1001909157] [2022-04-08 04:23:53,985 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1001909157] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:23:53,985 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:23:53,985 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 04:23:53,985 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1385636262] [2022-04-08 04:23:53,985 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:23:53,985 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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 68 [2022-04-08 04:23:53,987 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:23:53,988 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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-08 04:23:54,041 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:54,041 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 04:23:54,041 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:54,041 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 04:23:54,041 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-08 04:23:54,042 INFO L87 Difference]: Start difference. First operand 169 states and 200 transitions. Second operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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-08 04:23:55,014 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:55,014 INFO L93 Difference]: Finished difference Result 191 states and 234 transitions. [2022-04-08 04:23:55,014 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 04:23:55,014 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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 68 [2022-04-08 04:23:55,014 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:23:55,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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-08 04:23:55,015 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-08 04:23:55,016 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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-08 04:23:55,016 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-08 04:23:55,016 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 80 transitions. [2022-04-08 04:23:55,089 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:55,092 INFO L225 Difference]: With dead ends: 191 [2022-04-08 04:23:55,092 INFO L226 Difference]: Without dead ends: 185 [2022-04-08 04:23:55,092 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 121 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2022-04-08 04:23:55,092 INFO L913 BasicCegarLoop]: 34 mSDtfsCounter, 15 mSDsluCounter, 99 mSDsCounter, 0 mSdLazyCounter, 291 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 133 SdHoareTripleChecker+Invalid, 306 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 291 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:23:55,093 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 133 Invalid, 306 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 291 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 04:23:55,093 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states. [2022-04-08 04:23:55,214 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 172. [2022-04-08 04:23:55,214 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:23:55,214 INFO L82 GeneralOperation]: Start isEquivalent. First operand 185 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 04:23:55,215 INFO L74 IsIncluded]: Start isIncluded. First operand 185 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 04:23:55,215 INFO L87 Difference]: Start difference. First operand 185 states. Second operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 04:23:55,218 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:55,218 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-08 04:23:55,218 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 223 transitions. [2022-04-08 04:23:55,218 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:55,219 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:55,219 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) Second operand 185 states. [2022-04-08 04:23:55,219 INFO L87 Difference]: Start difference. First operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) Second operand 185 states. [2022-04-08 04:23:55,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:23:55,222 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-08 04:23:55,222 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 223 transitions. [2022-04-08 04:23:55,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:23:55,223 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:23:55,223 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:23:55,223 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:23:55,223 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 103 states have (on average 1.1359223300970873) internal successors, (117), 107 states have internal predecessors, (117), 45 states have call successors, (45), 24 states have call predecessors, (45), 23 states have return successors, (43), 40 states have call predecessors, (43), 43 states have call successors, (43) [2022-04-08 04:23:55,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 205 transitions. [2022-04-08 04:23:55,226 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 205 transitions. Word has length 68 [2022-04-08 04:23:55,226 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:23:55,226 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 205 transitions. [2022-04-08 04:23:55,226 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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-08 04:23:55,226 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 205 transitions. [2022-04-08 04:23:55,521 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 205 edges. 205 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:23:55,521 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 205 transitions. [2022-04-08 04:23:55,522 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-08 04:23:55,522 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:23:55,522 INFO L499 BasicCegarLoop]: trace histogram [9, 8, 8, 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-08 04:23:55,538 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-04-08 04:23:55,722 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable12 [2022-04-08 04:23:55,723 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:23:55,723 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:23:55,723 INFO L85 PathProgramCache]: Analyzing trace with hash -860063341, now seen corresponding path program 3 times [2022-04-08 04:23:55,723 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:23:55,723 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [980658885] [2022-04-08 04:23:55,723 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:23:55,723 INFO L85 PathProgramCache]: Analyzing trace with hash -860063341, now seen corresponding path program 4 times [2022-04-08 04:23:55,724 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:23:55,724 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1704073924] [2022-04-08 04:23:55,724 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:23:55,724 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:23:55,731 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:23:55,731 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [35114964] [2022-04-08 04:23:55,731 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:23:55,731 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:23:55,732 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:23:55,732 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:23:55,733 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-08 04:23:55,773 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:23:55,774 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:23:55,774 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-08 04:23:55,784 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:23:55,785 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:23:56,207 INFO L272 TraceCheckUtils]: 0: Hoare triple {11043#true} call ULTIMATE.init(); {11043#true} is VALID [2022-04-08 04:23:56,208 INFO L290 TraceCheckUtils]: 1: Hoare triple {11043#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); {11043#true} is VALID [2022-04-08 04:23:56,208 INFO L290 TraceCheckUtils]: 2: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:23:56,208 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11043#true} {11043#true} #81#return; {11043#true} is VALID [2022-04-08 04:23:56,208 INFO L272 TraceCheckUtils]: 4: Hoare triple {11043#true} call #t~ret6 := main(); {11043#true} is VALID [2022-04-08 04:23:56,208 INFO L290 TraceCheckUtils]: 5: Hoare triple {11043#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; {11043#true} is VALID [2022-04-08 04:23:56,208 INFO L272 TraceCheckUtils]: 6: Hoare triple {11043#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11043#true} is VALID [2022-04-08 04:23:56,208 INFO L290 TraceCheckUtils]: 7: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:23:56,208 INFO L290 TraceCheckUtils]: 8: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:23:56,209 INFO L290 TraceCheckUtils]: 9: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:23:56,209 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11043#true} {11043#true} #63#return; {11043#true} is VALID [2022-04-08 04:23:56,209 INFO L272 TraceCheckUtils]: 11: Hoare triple {11043#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11043#true} is VALID [2022-04-08 04:23:56,209 INFO L290 TraceCheckUtils]: 12: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:23:56,209 INFO L290 TraceCheckUtils]: 13: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:23:56,209 INFO L290 TraceCheckUtils]: 14: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:23:56,209 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11043#true} {11043#true} #65#return; {11043#true} is VALID [2022-04-08 04:23:56,209 INFO L290 TraceCheckUtils]: 16: Hoare triple {11043#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11096#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:56,210 INFO L290 TraceCheckUtils]: 17: Hoare triple {11096#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {11096#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:56,210 INFO L272 TraceCheckUtils]: 18: Hoare triple {11096#(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)); {11043#true} is VALID [2022-04-08 04:23:56,210 INFO L290 TraceCheckUtils]: 19: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:23:56,210 INFO L290 TraceCheckUtils]: 20: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:23:56,210 INFO L290 TraceCheckUtils]: 21: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:23:56,210 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11043#true} {11096#(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))} #67#return; {11096#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:56,210 INFO L272 TraceCheckUtils]: 23: Hoare triple {11096#(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)); {11043#true} is VALID [2022-04-08 04:23:56,210 INFO L290 TraceCheckUtils]: 24: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:23:56,211 INFO L290 TraceCheckUtils]: 25: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:23:56,211 INFO L290 TraceCheckUtils]: 26: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:23:56,211 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {11043#true} {11096#(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))} #69#return; {11096#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:56,211 INFO L272 TraceCheckUtils]: 28: Hoare triple {11096#(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)); {11043#true} is VALID [2022-04-08 04:23:56,211 INFO L290 TraceCheckUtils]: 29: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:23:56,211 INFO L290 TraceCheckUtils]: 30: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:23:56,211 INFO L290 TraceCheckUtils]: 31: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:23:56,212 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11043#true} {11096#(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))} #71#return; {11096#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:56,212 INFO L290 TraceCheckUtils]: 33: Hoare triple {11096#(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); {11096#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:23:56,213 INFO L290 TraceCheckUtils]: 34: Hoare triple {11096#(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; {11151#(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-08 04:23:56,213 INFO L290 TraceCheckUtils]: 35: Hoare triple {11151#(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 !false; {11151#(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-08 04:23:56,213 INFO L272 TraceCheckUtils]: 36: Hoare triple {11151#(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)); {11043#true} is VALID [2022-04-08 04:23:56,213 INFO L290 TraceCheckUtils]: 37: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:23:56,213 INFO L290 TraceCheckUtils]: 38: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:23:56,213 INFO L290 TraceCheckUtils]: 39: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:23:56,214 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {11043#true} {11151#(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))} #67#return; {11151#(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-08 04:23:56,214 INFO L272 TraceCheckUtils]: 41: Hoare triple {11151#(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)); {11043#true} is VALID [2022-04-08 04:23:56,214 INFO L290 TraceCheckUtils]: 42: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:23:56,214 INFO L290 TraceCheckUtils]: 43: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:23:56,214 INFO L290 TraceCheckUtils]: 44: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:23:56,214 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11043#true} {11151#(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))} #69#return; {11151#(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-08 04:23:56,214 INFO L272 TraceCheckUtils]: 46: Hoare triple {11151#(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)); {11043#true} is VALID [2022-04-08 04:23:56,215 INFO L290 TraceCheckUtils]: 47: Hoare triple {11043#true} ~cond := #in~cond; {11191#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:56,215 INFO L290 TraceCheckUtils]: 48: Hoare triple {11191#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:56,215 INFO L290 TraceCheckUtils]: 49: Hoare triple {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:23:56,216 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} {11151#(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))} #71#return; {11151#(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-08 04:23:56,216 INFO L290 TraceCheckUtils]: 51: Hoare triple {11151#(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); {11151#(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-08 04:23:56,217 INFO L290 TraceCheckUtils]: 52: Hoare triple {11151#(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);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-08 04:23:56,217 INFO L290 TraceCheckUtils]: 53: Hoare triple {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} assume !false; {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-08 04:23:56,217 INFO L272 TraceCheckUtils]: 54: Hoare triple {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11043#true} is VALID [2022-04-08 04:23:56,217 INFO L290 TraceCheckUtils]: 55: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:23:56,217 INFO L290 TraceCheckUtils]: 56: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:23:56,217 INFO L290 TraceCheckUtils]: 57: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:23:56,218 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {11043#true} {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} #67#return; {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-08 04:23:56,218 INFO L272 TraceCheckUtils]: 59: Hoare triple {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11043#true} is VALID [2022-04-08 04:23:56,218 INFO L290 TraceCheckUtils]: 60: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:23:56,218 INFO L290 TraceCheckUtils]: 61: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:23:56,218 INFO L290 TraceCheckUtils]: 62: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:23:56,219 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {11043#true} {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} #69#return; {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} is VALID [2022-04-08 04:23:56,219 INFO L272 TraceCheckUtils]: 64: Hoare triple {11208#(and (= (+ (* (- 2) main_~x~0) main_~y~0) main_~b~0) (= main_~s~0 1) (= (- 2) main_~q~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11245#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:23:56,219 INFO L290 TraceCheckUtils]: 65: Hoare triple {11245#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11249#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:23:56,220 INFO L290 TraceCheckUtils]: 66: Hoare triple {11249#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11044#false} is VALID [2022-04-08 04:23:56,220 INFO L290 TraceCheckUtils]: 67: Hoare triple {11044#false} assume !false; {11044#false} is VALID [2022-04-08 04:23:56,220 INFO L134 CoverageAnalysis]: Checked inductivity of 146 backedges. 30 proven. 21 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-08 04:23:56,220 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:24:10,593 INFO L290 TraceCheckUtils]: 67: Hoare triple {11044#false} assume !false; {11044#false} is VALID [2022-04-08 04:24:10,593 INFO L290 TraceCheckUtils]: 66: Hoare triple {11249#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11044#false} is VALID [2022-04-08 04:24:10,593 INFO L290 TraceCheckUtils]: 65: Hoare triple {11245#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11249#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:24:10,594 INFO L272 TraceCheckUtils]: 64: Hoare triple {11265#(= 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)); {11245#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:24:10,595 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {11043#true} {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #69#return; {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:24:10,595 INFO L290 TraceCheckUtils]: 62: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:24:10,595 INFO L290 TraceCheckUtils]: 61: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:24:10,595 INFO L290 TraceCheckUtils]: 60: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:24:10,595 INFO L272 TraceCheckUtils]: 59: Hoare triple {11265#(= 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)); {11043#true} is VALID [2022-04-08 04:24:10,595 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {11043#true} {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #67#return; {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:24:10,595 INFO L290 TraceCheckUtils]: 57: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:24:10,596 INFO L290 TraceCheckUtils]: 56: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:24:10,596 INFO L290 TraceCheckUtils]: 55: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:24:10,596 INFO L272 TraceCheckUtils]: 54: Hoare triple {11265#(= 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)); {11043#true} is VALID [2022-04-08 04:24:10,596 INFO L290 TraceCheckUtils]: 53: Hoare triple {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:24:10,889 INFO L290 TraceCheckUtils]: 52: Hoare triple {11302#(= (+ (* (+ 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; {11265#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:24:10,889 INFO L290 TraceCheckUtils]: 51: Hoare triple {11302#(= (+ (* (+ 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); {11302#(= (+ (* (+ 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-08 04:24:10,890 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} {11309#(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)))} #71#return; {11302#(= (+ (* (+ 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-08 04:24:10,891 INFO L290 TraceCheckUtils]: 49: Hoare triple {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:24:10,891 INFO L290 TraceCheckUtils]: 48: Hoare triple {11319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {11195#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:24:10,891 INFO L290 TraceCheckUtils]: 47: Hoare triple {11043#true} ~cond := #in~cond; {11319#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:24:10,892 INFO L272 TraceCheckUtils]: 46: Hoare triple {11309#(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)); {11043#true} is VALID [2022-04-08 04:24:10,892 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {11043#true} {11309#(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)))} #69#return; {11309#(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-08 04:24:10,892 INFO L290 TraceCheckUtils]: 44: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:24:10,892 INFO L290 TraceCheckUtils]: 43: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:24:10,893 INFO L290 TraceCheckUtils]: 42: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:24:10,893 INFO L272 TraceCheckUtils]: 41: Hoare triple {11309#(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)); {11043#true} is VALID [2022-04-08 04:24:10,893 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {11043#true} {11309#(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)))} #67#return; {11309#(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-08 04:24:10,893 INFO L290 TraceCheckUtils]: 39: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:24:10,894 INFO L290 TraceCheckUtils]: 38: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:24:10,894 INFO L290 TraceCheckUtils]: 37: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:24:10,894 INFO L272 TraceCheckUtils]: 36: Hoare triple {11309#(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)); {11043#true} is VALID [2022-04-08 04:24:10,894 INFO L290 TraceCheckUtils]: 35: Hoare triple {11309#(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 !false; {11309#(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-08 04:24:10,974 INFO L290 TraceCheckUtils]: 34: Hoare triple {11359#(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_~b~0 (* (- 2) 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; {11309#(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-08 04:24:10,975 INFO L290 TraceCheckUtils]: 33: Hoare triple {11359#(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_~b~0 (* (- 2) main_~a~0))))} assume !!(~a~0 != ~b~0); {11359#(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_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-08 04:24:10,976 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {11043#true} {11359#(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_~b~0 (* (- 2) main_~a~0))))} #71#return; {11359#(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_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-08 04:24:10,977 INFO L290 TraceCheckUtils]: 31: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:24:10,977 INFO L290 TraceCheckUtils]: 30: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:24:10,977 INFO L290 TraceCheckUtils]: 29: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:24:10,977 INFO L272 TraceCheckUtils]: 28: Hoare triple {11359#(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_~b~0 (* (- 2) main_~a~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {11043#true} is VALID [2022-04-08 04:24:10,978 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {11043#true} {11359#(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_~b~0 (* (- 2) main_~a~0))))} #69#return; {11359#(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_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-08 04:24:10,978 INFO L290 TraceCheckUtils]: 26: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:24:10,978 INFO L290 TraceCheckUtils]: 25: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:24:10,978 INFO L290 TraceCheckUtils]: 24: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:24:10,978 INFO L272 TraceCheckUtils]: 23: Hoare triple {11359#(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_~b~0 (* (- 2) main_~a~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {11043#true} is VALID [2022-04-08 04:24:10,979 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {11043#true} {11359#(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_~b~0 (* (- 2) main_~a~0))))} #67#return; {11359#(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_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-08 04:24:10,979 INFO L290 TraceCheckUtils]: 21: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:24:10,979 INFO L290 TraceCheckUtils]: 20: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:24:10,979 INFO L290 TraceCheckUtils]: 19: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:24:10,979 INFO L272 TraceCheckUtils]: 18: Hoare triple {11359#(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_~b~0 (* (- 2) main_~a~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {11043#true} is VALID [2022-04-08 04:24:10,980 INFO L290 TraceCheckUtils]: 17: Hoare triple {11359#(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_~b~0 (* (- 2) main_~a~0))))} assume !false; {11359#(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_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-08 04:24:10,980 INFO L290 TraceCheckUtils]: 16: Hoare triple {11043#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {11359#(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_~b~0 (* (- 2) main_~a~0))))} is VALID [2022-04-08 04:24:10,980 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11043#true} {11043#true} #65#return; {11043#true} is VALID [2022-04-08 04:24:10,980 INFO L290 TraceCheckUtils]: 14: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:24:10,980 INFO L290 TraceCheckUtils]: 13: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:24:10,980 INFO L290 TraceCheckUtils]: 12: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:24:10,980 INFO L272 TraceCheckUtils]: 11: Hoare triple {11043#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {11043#true} is VALID [2022-04-08 04:24:10,980 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11043#true} {11043#true} #63#return; {11043#true} is VALID [2022-04-08 04:24:10,980 INFO L290 TraceCheckUtils]: 9: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:24:10,980 INFO L290 TraceCheckUtils]: 8: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-08 04:24:10,981 INFO L290 TraceCheckUtils]: 7: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-08 04:24:10,981 INFO L272 TraceCheckUtils]: 6: Hoare triple {11043#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {11043#true} is VALID [2022-04-08 04:24:10,981 INFO L290 TraceCheckUtils]: 5: Hoare triple {11043#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; {11043#true} is VALID [2022-04-08 04:24:10,981 INFO L272 TraceCheckUtils]: 4: Hoare triple {11043#true} call #t~ret6 := main(); {11043#true} is VALID [2022-04-08 04:24:10,981 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11043#true} {11043#true} #81#return; {11043#true} is VALID [2022-04-08 04:24:10,981 INFO L290 TraceCheckUtils]: 2: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-08 04:24:10,981 INFO L290 TraceCheckUtils]: 1: Hoare triple {11043#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); {11043#true} is VALID [2022-04-08 04:24:10,981 INFO L272 TraceCheckUtils]: 0: Hoare triple {11043#true} call ULTIMATE.init(); {11043#true} is VALID [2022-04-08 04:24:10,981 INFO L134 CoverageAnalysis]: Checked inductivity of 146 backedges. 34 proven. 17 refuted. 0 times theorem prover too weak. 95 trivial. 0 not checked. [2022-04-08 04:24:10,981 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:24:10,981 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1704073924] [2022-04-08 04:24:10,981 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:24:10,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [35114964] [2022-04-08 04:24:10,982 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [35114964] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:24:10,982 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:24:10,982 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-08 04:24:10,982 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:24:10,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [980658885] [2022-04-08 04:24:10,982 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [980658885] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:24:10,982 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:24:10,982 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 04:24:10,982 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [516868384] [2022-04-08 04:24:10,982 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:24:10,983 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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 68 [2022-04-08 04:24:10,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:24:10,983 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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-08 04:24:11,022 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:24:11,022 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 04:24:11,022 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:24:11,022 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 04:24:11,023 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-08 04:24:11,023 INFO L87 Difference]: Start difference. First operand 172 states and 205 transitions. Second operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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-08 04:24:11,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:24:11,950 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-08 04:24:11,950 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 04:24:11,951 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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 68 [2022-04-08 04:24:11,951 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:24:11,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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-08 04:24:11,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-08 04:24:11,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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-08 04:24:11,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-08 04:24:11,953 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 80 transitions. [2022-04-08 04:24:12,046 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:24:12,049 INFO L225 Difference]: With dead ends: 197 [2022-04-08 04:24:12,049 INFO L226 Difference]: Without dead ends: 188 [2022-04-08 04:24:12,050 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 121 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-08 04:24:12,050 INFO L913 BasicCegarLoop]: 32 mSDtfsCounter, 15 mSDsluCounter, 98 mSDsCounter, 0 mSdLazyCounter, 283 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 283 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-08 04:24:12,050 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 130 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 283 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-08 04:24:12,050 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2022-04-08 04:24:12,188 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 188. [2022-04-08 04:24:12,188 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:24:12,188 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-08 04:24:12,189 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-08 04:24:12,189 INFO L87 Difference]: Start difference. First operand 188 states. Second operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-08 04:24:12,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:24:12,193 INFO L93 Difference]: Finished difference Result 188 states and 228 transitions. [2022-04-08 04:24:12,193 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 228 transitions. [2022-04-08 04:24:12,193 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:24:12,193 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:24:12,194 INFO L74 IsIncluded]: Start isIncluded. First operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) Second operand 188 states. [2022-04-08 04:24:12,194 INFO L87 Difference]: Start difference. First operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) Second operand 188 states. [2022-04-08 04:24:12,197 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:24:12,197 INFO L93 Difference]: Finished difference Result 188 states and 228 transitions. [2022-04-08 04:24:12,197 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 228 transitions. [2022-04-08 04:24:12,198 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:24:12,198 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:24:12,198 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:24:12,198 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:24:12,198 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 188 states, 112 states have (on average 1.1428571428571428) internal successors, (128), 116 states have internal predecessors, (128), 51 states have call successors, (51), 25 states have call predecessors, (51), 24 states have return successors, (49), 46 states have call predecessors, (49), 49 states have call successors, (49) [2022-04-08 04:24:12,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 188 states to 188 states and 228 transitions. [2022-04-08 04:24:12,202 INFO L78 Accepts]: Start accepts. Automaton has 188 states and 228 transitions. Word has length 68 [2022-04-08 04:24:12,202 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:24:12,202 INFO L478 AbstractCegarLoop]: Abstraction has 188 states and 228 transitions. [2022-04-08 04:24:12,202 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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-08 04:24:12,202 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 188 states and 228 transitions. [2022-04-08 04:24:12,552 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 228 edges. 228 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:24:12,552 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 228 transitions. [2022-04-08 04:24:12,553 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-08 04:24:12,553 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:24:12,553 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 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-08 04:24:12,573 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-08 04:24:12,754 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable13 [2022-04-08 04:24:12,754 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:24:12,754 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:24:12,754 INFO L85 PathProgramCache]: Analyzing trace with hash -35686306, now seen corresponding path program 7 times [2022-04-08 04:24:12,754 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:24:12,754 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [919542998] [2022-04-08 04:24:12,755 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:24:12,755 INFO L85 PathProgramCache]: Analyzing trace with hash -35686306, now seen corresponding path program 8 times [2022-04-08 04:24:12,755 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:24:12,755 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2135310366] [2022-04-08 04:24:12,755 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:24:12,755 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:24:12,764 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:24:12,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [74707339] [2022-04-08 04:24:12,764 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:24:12,764 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:24:12,764 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:24:12,765 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:24:12,766 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-08 04:24:12,811 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:24:12,812 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:24:12,813 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 04:24:12,823 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:24:12,824 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:24:13,303 INFO L272 TraceCheckUtils]: 0: Hoare triple {12614#true} call ULTIMATE.init(); {12614#true} is VALID [2022-04-08 04:24:13,303 INFO L290 TraceCheckUtils]: 1: Hoare triple {12614#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); {12614#true} is VALID [2022-04-08 04:24:13,303 INFO L290 TraceCheckUtils]: 2: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:13,303 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12614#true} {12614#true} #81#return; {12614#true} is VALID [2022-04-08 04:24:13,303 INFO L272 TraceCheckUtils]: 4: Hoare triple {12614#true} call #t~ret6 := main(); {12614#true} is VALID [2022-04-08 04:24:13,303 INFO L290 TraceCheckUtils]: 5: Hoare triple {12614#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; {12614#true} is VALID [2022-04-08 04:24:13,303 INFO L272 TraceCheckUtils]: 6: Hoare triple {12614#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12614#true} is VALID [2022-04-08 04:24:13,303 INFO L290 TraceCheckUtils]: 7: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:13,303 INFO L290 TraceCheckUtils]: 8: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:13,303 INFO L290 TraceCheckUtils]: 9: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:13,303 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12614#true} {12614#true} #63#return; {12614#true} is VALID [2022-04-08 04:24:13,304 INFO L272 TraceCheckUtils]: 11: Hoare triple {12614#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12614#true} is VALID [2022-04-08 04:24:13,304 INFO L290 TraceCheckUtils]: 12: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:13,304 INFO L290 TraceCheckUtils]: 13: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:13,304 INFO L290 TraceCheckUtils]: 14: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:13,304 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12614#true} {12614#true} #65#return; {12614#true} is VALID [2022-04-08 04:24:13,304 INFO L290 TraceCheckUtils]: 16: Hoare triple {12614#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {12667#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:24:13,304 INFO L290 TraceCheckUtils]: 17: Hoare triple {12667#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {12667#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:24:13,305 INFO L272 TraceCheckUtils]: 18: Hoare triple {12667#(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)); {12614#true} is VALID [2022-04-08 04:24:13,305 INFO L290 TraceCheckUtils]: 19: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:13,305 INFO L290 TraceCheckUtils]: 20: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:13,305 INFO L290 TraceCheckUtils]: 21: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:13,305 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12614#true} {12667#(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))} #67#return; {12667#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:24:13,305 INFO L272 TraceCheckUtils]: 23: Hoare triple {12667#(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)); {12614#true} is VALID [2022-04-08 04:24:13,305 INFO L290 TraceCheckUtils]: 24: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:13,305 INFO L290 TraceCheckUtils]: 25: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:13,305 INFO L290 TraceCheckUtils]: 26: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:13,306 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {12614#true} {12667#(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))} #69#return; {12667#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:24:13,306 INFO L272 TraceCheckUtils]: 28: Hoare triple {12667#(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)); {12614#true} is VALID [2022-04-08 04:24:13,306 INFO L290 TraceCheckUtils]: 29: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:13,306 INFO L290 TraceCheckUtils]: 30: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:13,306 INFO L290 TraceCheckUtils]: 31: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:13,307 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12614#true} {12667#(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))} #71#return; {12667#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:24:13,307 INFO L290 TraceCheckUtils]: 33: Hoare triple {12667#(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); {12667#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:24:13,308 INFO L290 TraceCheckUtils]: 34: Hoare triple {12667#(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; {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 04:24:13,308 INFO L290 TraceCheckUtils]: 35: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !false; {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 04:24:13,308 INFO L272 TraceCheckUtils]: 36: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= 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)); {12614#true} is VALID [2022-04-08 04:24:13,308 INFO L290 TraceCheckUtils]: 37: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:13,308 INFO L290 TraceCheckUtils]: 38: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:13,308 INFO L290 TraceCheckUtils]: 39: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:13,309 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {12614#true} {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #67#return; {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 04:24:13,309 INFO L272 TraceCheckUtils]: 41: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= 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)); {12614#true} is VALID [2022-04-08 04:24:13,309 INFO L290 TraceCheckUtils]: 42: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:13,309 INFO L290 TraceCheckUtils]: 43: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:13,309 INFO L290 TraceCheckUtils]: 44: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:13,310 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12614#true} {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #69#return; {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 04:24:13,310 INFO L272 TraceCheckUtils]: 46: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= 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)); {12614#true} is VALID [2022-04-08 04:24:13,310 INFO L290 TraceCheckUtils]: 47: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:13,310 INFO L290 TraceCheckUtils]: 48: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:13,310 INFO L290 TraceCheckUtils]: 49: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:13,310 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12614#true} {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #71#return; {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 04:24:13,311 INFO L290 TraceCheckUtils]: 51: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 04:24:13,312 INFO L290 TraceCheckUtils]: 52: Hoare triple {12722#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~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; {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 04:24:13,312 INFO L290 TraceCheckUtils]: 53: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !false; {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 04:24:13,312 INFO L272 TraceCheckUtils]: 54: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12614#true} is VALID [2022-04-08 04:24:13,312 INFO L290 TraceCheckUtils]: 55: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:13,312 INFO L290 TraceCheckUtils]: 56: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:13,312 INFO L290 TraceCheckUtils]: 57: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:13,313 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {12614#true} {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #67#return; {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 04:24:13,313 INFO L272 TraceCheckUtils]: 59: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12614#true} is VALID [2022-04-08 04:24:13,313 INFO L290 TraceCheckUtils]: 60: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:13,313 INFO L290 TraceCheckUtils]: 61: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:13,313 INFO L290 TraceCheckUtils]: 62: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:13,314 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {12614#true} {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #69#return; {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 04:24:13,314 INFO L272 TraceCheckUtils]: 64: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {12614#true} is VALID [2022-04-08 04:24:13,314 INFO L290 TraceCheckUtils]: 65: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:13,314 INFO L290 TraceCheckUtils]: 66: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:13,314 INFO L290 TraceCheckUtils]: 67: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:13,314 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12614#true} {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #71#return; {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 04:24:13,315 INFO L290 TraceCheckUtils]: 69: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 04:24:13,315 INFO L290 TraceCheckUtils]: 70: Hoare triple {12777#(and (= (* (- 2) main_~s~0) main_~r~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~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; {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-08 04:24:13,316 INFO L290 TraceCheckUtils]: 71: Hoare triple {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} assume !false; {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-08 04:24:13,316 INFO L272 TraceCheckUtils]: 72: Hoare triple {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {12614#true} is VALID [2022-04-08 04:24:13,316 INFO L290 TraceCheckUtils]: 73: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:13,316 INFO L290 TraceCheckUtils]: 74: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:13,316 INFO L290 TraceCheckUtils]: 75: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:13,317 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {12614#true} {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} #67#return; {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} is VALID [2022-04-08 04:24:13,317 INFO L272 TraceCheckUtils]: 77: Hoare triple {12832#(and (= main_~r~0 (- 3)) (= (+ main_~x~0 (* main_~y~0 (- 3))) main_~a~0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {12854#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:24:13,317 INFO L290 TraceCheckUtils]: 78: Hoare triple {12854#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12858#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:24:13,318 INFO L290 TraceCheckUtils]: 79: Hoare triple {12858#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12615#false} is VALID [2022-04-08 04:24:13,318 INFO L290 TraceCheckUtils]: 80: Hoare triple {12615#false} assume !false; {12615#false} is VALID [2022-04-08 04:24:13,318 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 20 proven. 27 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-08 04:24:13,318 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:24:13,615 INFO L290 TraceCheckUtils]: 80: Hoare triple {12615#false} assume !false; {12615#false} is VALID [2022-04-08 04:24:13,616 INFO L290 TraceCheckUtils]: 79: Hoare triple {12858#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12615#false} is VALID [2022-04-08 04:24:13,616 INFO L290 TraceCheckUtils]: 78: Hoare triple {12854#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12858#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:24:13,617 INFO L272 TraceCheckUtils]: 77: Hoare triple {12874#(= 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)); {12854#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:24:13,617 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {12614#true} {12874#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {12874#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:24:13,617 INFO L290 TraceCheckUtils]: 75: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:13,618 INFO L290 TraceCheckUtils]: 74: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:13,618 INFO L290 TraceCheckUtils]: 73: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:13,618 INFO L272 TraceCheckUtils]: 72: Hoare triple {12874#(= 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)); {12614#true} is VALID [2022-04-08 04:24:13,622 INFO L290 TraceCheckUtils]: 71: Hoare triple {12874#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {12874#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:24:15,623 WARN L290 TraceCheckUtils]: 70: Hoare triple {12896#(= (+ 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; {12874#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is UNKNOWN [2022-04-08 04:24:15,624 INFO L290 TraceCheckUtils]: 69: Hoare triple {12896#(= (+ 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); {12896#(= (+ 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-08 04:24:15,624 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {12614#true} {12896#(= (+ 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)))))} #71#return; {12896#(= (+ 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-08 04:24:15,625 INFO L290 TraceCheckUtils]: 67: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:15,625 INFO L290 TraceCheckUtils]: 66: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:15,625 INFO L290 TraceCheckUtils]: 65: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:15,625 INFO L272 TraceCheckUtils]: 64: Hoare triple {12896#(= (+ 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)); {12614#true} is VALID [2022-04-08 04:24:15,625 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {12614#true} {12896#(= (+ 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)))))} #69#return; {12896#(= (+ 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-08 04:24:15,625 INFO L290 TraceCheckUtils]: 62: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:15,625 INFO L290 TraceCheckUtils]: 61: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:15,625 INFO L290 TraceCheckUtils]: 60: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:15,626 INFO L272 TraceCheckUtils]: 59: Hoare triple {12896#(= (+ 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)); {12614#true} is VALID [2022-04-08 04:24:15,626 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {12614#true} {12896#(= (+ 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)))))} #67#return; {12896#(= (+ 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-08 04:24:15,626 INFO L290 TraceCheckUtils]: 57: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:15,626 INFO L290 TraceCheckUtils]: 56: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:15,626 INFO L290 TraceCheckUtils]: 55: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:15,626 INFO L272 TraceCheckUtils]: 54: Hoare triple {12896#(= (+ 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)); {12614#true} is VALID [2022-04-08 04:24:15,627 INFO L290 TraceCheckUtils]: 53: Hoare triple {12896#(= (+ 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 !false; {12896#(= (+ 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-08 04:24:15,678 INFO L290 TraceCheckUtils]: 52: Hoare triple {12951#(= (+ (* 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; {12896#(= (+ 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-08 04:24:15,679 INFO L290 TraceCheckUtils]: 51: Hoare triple {12951#(= (+ (* 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); {12951#(= (+ (* 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-08 04:24:15,679 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {12614#true} {12951#(= (+ (* 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))} #71#return; {12951#(= (+ (* 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-08 04:24:15,679 INFO L290 TraceCheckUtils]: 49: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:15,679 INFO L290 TraceCheckUtils]: 48: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:15,680 INFO L290 TraceCheckUtils]: 47: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:15,680 INFO L272 TraceCheckUtils]: 46: Hoare triple {12951#(= (+ (* 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)); {12614#true} is VALID [2022-04-08 04:24:15,680 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {12614#true} {12951#(= (+ (* 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))} #69#return; {12951#(= (+ (* 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-08 04:24:15,680 INFO L290 TraceCheckUtils]: 44: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:15,680 INFO L290 TraceCheckUtils]: 43: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:15,680 INFO L290 TraceCheckUtils]: 42: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:15,680 INFO L272 TraceCheckUtils]: 41: Hoare triple {12951#(= (+ (* 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)); {12614#true} is VALID [2022-04-08 04:24:15,681 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {12614#true} {12951#(= (+ (* 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))} #67#return; {12951#(= (+ (* 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-08 04:24:15,681 INFO L290 TraceCheckUtils]: 39: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:15,681 INFO L290 TraceCheckUtils]: 38: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:15,681 INFO L290 TraceCheckUtils]: 37: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:15,681 INFO L272 TraceCheckUtils]: 36: Hoare triple {12951#(= (+ (* 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)); {12614#true} is VALID [2022-04-08 04:24:15,681 INFO L290 TraceCheckUtils]: 35: Hoare triple {12951#(= (+ (* 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 !false; {12951#(= (+ (* 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-08 04:24:17,683 WARN L290 TraceCheckUtils]: 34: Hoare triple {13006#(= (+ (* 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; {12951#(= (+ (* 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-08 04:24:17,684 INFO L290 TraceCheckUtils]: 33: Hoare triple {13006#(= (+ (* 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); {13006#(= (+ (* 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-08 04:24:17,684 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {12614#true} {13006#(= (+ (* 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))} #71#return; {13006#(= (+ (* 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-08 04:24:17,684 INFO L290 TraceCheckUtils]: 31: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:17,684 INFO L290 TraceCheckUtils]: 30: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:17,684 INFO L290 TraceCheckUtils]: 29: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:17,684 INFO L272 TraceCheckUtils]: 28: Hoare triple {13006#(= (+ (* 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)); {12614#true} is VALID [2022-04-08 04:24:17,685 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {12614#true} {13006#(= (+ (* 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))} #69#return; {13006#(= (+ (* 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-08 04:24:17,685 INFO L290 TraceCheckUtils]: 26: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:17,685 INFO L290 TraceCheckUtils]: 25: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:17,685 INFO L290 TraceCheckUtils]: 24: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:17,685 INFO L272 TraceCheckUtils]: 23: Hoare triple {13006#(= (+ (* 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)); {12614#true} is VALID [2022-04-08 04:24:17,686 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {12614#true} {13006#(= (+ (* 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))} #67#return; {13006#(= (+ (* 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-08 04:24:17,686 INFO L290 TraceCheckUtils]: 21: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:17,686 INFO L290 TraceCheckUtils]: 20: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:17,686 INFO L290 TraceCheckUtils]: 19: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:17,686 INFO L272 TraceCheckUtils]: 18: Hoare triple {13006#(= (+ (* 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)); {12614#true} is VALID [2022-04-08 04:24:17,686 INFO L290 TraceCheckUtils]: 17: Hoare triple {13006#(= (+ (* 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 !false; {13006#(= (+ (* 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-08 04:24:17,687 INFO L290 TraceCheckUtils]: 16: Hoare triple {12614#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {13006#(= (+ (* 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-08 04:24:17,687 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12614#true} {12614#true} #65#return; {12614#true} is VALID [2022-04-08 04:24:17,687 INFO L290 TraceCheckUtils]: 14: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:17,687 INFO L290 TraceCheckUtils]: 13: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:17,687 INFO L290 TraceCheckUtils]: 12: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:17,687 INFO L272 TraceCheckUtils]: 11: Hoare triple {12614#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {12614#true} is VALID [2022-04-08 04:24:17,687 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12614#true} {12614#true} #63#return; {12614#true} is VALID [2022-04-08 04:24:17,687 INFO L290 TraceCheckUtils]: 9: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:17,687 INFO L290 TraceCheckUtils]: 8: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-08 04:24:17,687 INFO L290 TraceCheckUtils]: 7: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-08 04:24:17,687 INFO L272 TraceCheckUtils]: 6: Hoare triple {12614#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {12614#true} is VALID [2022-04-08 04:24:17,688 INFO L290 TraceCheckUtils]: 5: Hoare triple {12614#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; {12614#true} is VALID [2022-04-08 04:24:17,688 INFO L272 TraceCheckUtils]: 4: Hoare triple {12614#true} call #t~ret6 := main(); {12614#true} is VALID [2022-04-08 04:24:17,688 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12614#true} {12614#true} #81#return; {12614#true} is VALID [2022-04-08 04:24:17,688 INFO L290 TraceCheckUtils]: 2: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-08 04:24:17,688 INFO L290 TraceCheckUtils]: 1: Hoare triple {12614#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); {12614#true} is VALID [2022-04-08 04:24:17,688 INFO L272 TraceCheckUtils]: 0: Hoare triple {12614#true} call ULTIMATE.init(); {12614#true} is VALID [2022-04-08 04:24:17,688 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 20 proven. 27 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-08 04:24:17,688 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:24:17,688 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2135310366] [2022-04-08 04:24:17,688 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:24:17,688 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [74707339] [2022-04-08 04:24:17,688 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [74707339] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:24:17,688 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:24:17,689 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-08 04:24:17,689 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:24:17,689 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [919542998] [2022-04-08 04:24:17,689 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [919542998] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:24:17,689 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:24:17,689 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-08 04:24:17,689 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1865644071] [2022-04-08 04:24:17,689 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:24:17,689 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 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 81 [2022-04-08 04:24:17,690 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:24:17,690 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 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-08 04:24:17,737 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:24:17,737 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-08 04:24:17,737 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:24:17,737 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-08 04:24:17,738 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-08 04:24:17,738 INFO L87 Difference]: Start difference. First operand 188 states and 228 transitions. Second operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 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-08 04:24:18,898 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:24:18,898 INFO L93 Difference]: Finished difference Result 222 states and 270 transitions. [2022-04-08 04:24:18,898 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-08 04:24:18,899 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 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 81 [2022-04-08 04:24:18,899 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:24:18,899 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 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-08 04:24:18,900 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-08 04:24:18,900 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 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-08 04:24:18,904 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-08 04:24:18,904 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 90 transitions. [2022-04-08 04:24:19,001 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:24:19,005 INFO L225 Difference]: With dead ends: 222 [2022-04-08 04:24:19,005 INFO L226 Difference]: Without dead ends: 220 [2022-04-08 04:24:19,005 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 162 GetRequests, 150 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=38, Invalid=118, Unknown=0, NotChecked=0, Total=156 [2022-04-08 04:24:19,006 INFO L913 BasicCegarLoop]: 48 mSDtfsCounter, 8 mSDsluCounter, 152 mSDsCounter, 0 mSdLazyCounter, 276 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 200 SdHoareTripleChecker+Invalid, 285 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 276 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-08 04:24:19,006 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 200 Invalid, 285 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 276 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-08 04:24:19,006 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 220 states. [2022-04-08 04:24:19,164 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 220 to 216. [2022-04-08 04:24:19,164 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:24:19,165 INFO L82 GeneralOperation]: Start isEquivalent. First operand 220 states. Second operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:24:19,179 INFO L74 IsIncluded]: Start isIncluded. First operand 220 states. Second operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:24:19,180 INFO L87 Difference]: Start difference. First operand 220 states. Second operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:24:19,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:24:19,184 INFO L93 Difference]: Finished difference Result 220 states and 268 transitions. [2022-04-08 04:24:19,184 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 268 transitions. [2022-04-08 04:24:19,185 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:24:19,185 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:24:19,185 INFO L74 IsIncluded]: Start isIncluded. First operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) Second operand 220 states. [2022-04-08 04:24:19,186 INFO L87 Difference]: Start difference. First operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) Second operand 220 states. [2022-04-08 04:24:19,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:24:19,189 INFO L93 Difference]: Finished difference Result 220 states and 268 transitions. [2022-04-08 04:24:19,190 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 268 transitions. [2022-04-08 04:24:19,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:24:19,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:24:19,190 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:24:19,190 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:24:19,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 216 states, 130 states have (on average 1.146153846153846) internal successors, (149), 134 states have internal predecessors, (149), 57 states have call successors, (57), 29 states have call predecessors, (57), 28 states have return successors, (55), 52 states have call predecessors, (55), 55 states have call successors, (55) [2022-04-08 04:24:19,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 216 states to 216 states and 261 transitions. [2022-04-08 04:24:19,195 INFO L78 Accepts]: Start accepts. Automaton has 216 states and 261 transitions. Word has length 81 [2022-04-08 04:24:19,195 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:24:19,195 INFO L478 AbstractCegarLoop]: Abstraction has 216 states and 261 transitions. [2022-04-08 04:24:19,195 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 8 states have (on average 2.875) internal successors, (23), 7 states have internal predecessors, (23), 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-08 04:24:19,195 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 216 states and 261 transitions. [2022-04-08 04:24:19,537 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 261 edges. 261 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:24:19,537 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 261 transitions. [2022-04-08 04:24:19,538 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-08 04:24:19,538 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:24:19,538 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 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-08 04:24:19,554 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-04-08 04:24:19,755 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:24:19,755 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:24:19,755 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:24:19,755 INFO L85 PathProgramCache]: Analyzing trace with hash 1350517088, now seen corresponding path program 7 times [2022-04-08 04:24:19,755 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:24:19,755 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1297493692] [2022-04-08 04:24:19,756 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:24:19,756 INFO L85 PathProgramCache]: Analyzing trace with hash 1350517088, now seen corresponding path program 8 times [2022-04-08 04:24:19,756 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:24:19,756 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2086784733] [2022-04-08 04:24:19,756 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:24:19,756 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:24:19,763 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:24:19,764 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [174242013] [2022-04-08 04:24:19,764 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:24:19,764 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:24:19,764 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:24:19,769 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:24:19,770 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-08 04:24:19,811 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:24:19,811 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:24:19,812 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-08 04:24:19,827 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:24:19,829 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:24:35,041 INFO L272 TraceCheckUtils]: 0: Hoare triple {14429#true} call ULTIMATE.init(); {14429#true} is VALID [2022-04-08 04:24:35,041 INFO L290 TraceCheckUtils]: 1: Hoare triple {14429#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); {14429#true} is VALID [2022-04-08 04:24:35,041 INFO L290 TraceCheckUtils]: 2: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:24:35,041 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14429#true} {14429#true} #81#return; {14429#true} is VALID [2022-04-08 04:24:35,041 INFO L272 TraceCheckUtils]: 4: Hoare triple {14429#true} call #t~ret6 := main(); {14429#true} is VALID [2022-04-08 04:24:35,041 INFO L290 TraceCheckUtils]: 5: Hoare triple {14429#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; {14429#true} is VALID [2022-04-08 04:24:35,041 INFO L272 TraceCheckUtils]: 6: Hoare triple {14429#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14429#true} is VALID [2022-04-08 04:24:35,041 INFO L290 TraceCheckUtils]: 7: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:24:35,041 INFO L290 TraceCheckUtils]: 8: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:24:35,042 INFO L290 TraceCheckUtils]: 9: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:24:35,042 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14429#true} {14429#true} #63#return; {14429#true} is VALID [2022-04-08 04:24:35,042 INFO L272 TraceCheckUtils]: 11: Hoare triple {14429#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14429#true} is VALID [2022-04-08 04:24:35,042 INFO L290 TraceCheckUtils]: 12: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:24:35,042 INFO L290 TraceCheckUtils]: 13: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:24:35,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:24:35,042 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14429#true} {14429#true} #65#return; {14429#true} is VALID [2022-04-08 04:24:35,043 INFO L290 TraceCheckUtils]: 16: Hoare triple {14429#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:24:35,043 INFO L290 TraceCheckUtils]: 17: Hoare triple {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:24:35,043 INFO L272 TraceCheckUtils]: 18: Hoare triple {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= 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)); {14429#true} is VALID [2022-04-08 04:24:35,044 INFO L290 TraceCheckUtils]: 19: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:24:35,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:24:35,044 INFO L290 TraceCheckUtils]: 21: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:24:35,044 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {14429#true} {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #67#return; {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:24:35,044 INFO L272 TraceCheckUtils]: 23: Hoare triple {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14429#true} is VALID [2022-04-08 04:24:35,045 INFO L290 TraceCheckUtils]: 24: Hoare triple {14429#true} ~cond := #in~cond; {14507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:24:35,045 INFO L290 TraceCheckUtils]: 25: Hoare triple {14507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:24:35,045 INFO L290 TraceCheckUtils]: 26: Hoare triple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:24:35,046 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} {14482#(and (= main_~r~0 0) (= main_~s~0 1) (<= main_~a~0 main_~x~0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #69#return; {14518#(and (= 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) (= main_~p~0 1))} is VALID [2022-04-08 04:24:35,046 INFO L272 TraceCheckUtils]: 28: Hoare triple {14518#(and (= 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) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14429#true} is VALID [2022-04-08 04:24:35,046 INFO L290 TraceCheckUtils]: 29: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:24:35,046 INFO L290 TraceCheckUtils]: 30: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:24:35,046 INFO L290 TraceCheckUtils]: 31: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:24:35,047 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14429#true} {14518#(and (= 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) (= main_~p~0 1))} #71#return; {14518#(and (= 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) (= main_~p~0 1))} is VALID [2022-04-08 04:24:35,047 INFO L290 TraceCheckUtils]: 33: Hoare triple {14518#(and (= 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) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {14518#(and (= 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) (= main_~p~0 1))} is VALID [2022-04-08 04:24:35,049 INFO L290 TraceCheckUtils]: 34: Hoare triple {14518#(and (= 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) (= 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; {14540#(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) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:24:35,050 INFO L290 TraceCheckUtils]: 35: Hoare triple {14540#(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) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} assume !false; {14540#(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) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:24:35,050 INFO L272 TraceCheckUtils]: 36: Hoare triple {14540#(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) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~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)); {14429#true} is VALID [2022-04-08 04:24:35,050 INFO L290 TraceCheckUtils]: 37: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:24:35,050 INFO L290 TraceCheckUtils]: 38: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:24:35,050 INFO L290 TraceCheckUtils]: 39: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:24:35,051 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {14429#true} {14540#(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) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #67#return; {14540#(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) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:24:35,051 INFO L272 TraceCheckUtils]: 41: Hoare triple {14540#(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) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~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)); {14429#true} is VALID [2022-04-08 04:24:35,051 INFO L290 TraceCheckUtils]: 42: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:24:35,051 INFO L290 TraceCheckUtils]: 43: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:24:35,051 INFO L290 TraceCheckUtils]: 44: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:24:35,052 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14429#true} {14540#(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) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #69#return; {14540#(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) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:24:35,052 INFO L272 TraceCheckUtils]: 46: Hoare triple {14540#(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) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~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)); {14429#true} is VALID [2022-04-08 04:24:35,052 INFO L290 TraceCheckUtils]: 47: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:24:35,052 INFO L290 TraceCheckUtils]: 48: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:24:35,052 INFO L290 TraceCheckUtils]: 49: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:24:35,052 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14429#true} {14540#(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) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #71#return; {14540#(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) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:24:35,053 INFO L290 TraceCheckUtils]: 51: Hoare triple {14540#(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) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {14540#(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) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:24:35,054 INFO L290 TraceCheckUtils]: 52: Hoare triple {14540#(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) (< 0 main_~a~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~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; {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 04:24:35,055 INFO L290 TraceCheckUtils]: 53: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !false; {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 04:24:35,055 INFO L272 TraceCheckUtils]: 54: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 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)); {14429#true} is VALID [2022-04-08 04:24:35,055 INFO L290 TraceCheckUtils]: 55: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:24:35,055 INFO L290 TraceCheckUtils]: 56: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:24:35,055 INFO L290 TraceCheckUtils]: 57: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:24:35,056 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {14429#true} {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #67#return; {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 04:24:35,056 INFO L272 TraceCheckUtils]: 59: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 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)); {14429#true} is VALID [2022-04-08 04:24:35,056 INFO L290 TraceCheckUtils]: 60: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:24:35,056 INFO L290 TraceCheckUtils]: 61: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:24:35,056 INFO L290 TraceCheckUtils]: 62: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:24:35,056 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {14429#true} {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #69#return; {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 04:24:35,056 INFO L272 TraceCheckUtils]: 64: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 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)); {14429#true} is VALID [2022-04-08 04:24:35,057 INFO L290 TraceCheckUtils]: 65: Hoare triple {14429#true} ~cond := #in~cond; {14507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:24:35,057 INFO L290 TraceCheckUtils]: 66: Hoare triple {14507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:24:35,057 INFO L290 TraceCheckUtils]: 67: Hoare triple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:24:35,058 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} #71#return; {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 04:24:35,058 INFO L290 TraceCheckUtils]: 69: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} assume !!(~a~0 != ~b~0); {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ main_~s~0 (* main_~r~0 2)) 0))} is VALID [2022-04-08 04:24:35,329 INFO L290 TraceCheckUtils]: 70: Hoare triple {14595#(and (= (+ main_~s~0 main_~r~0) 1) (= main_~y~0 (+ main_~b~0 main_~a~0)) (not (< main_~b~0 0)) (= (+ (* main_~p~0 2) main_~q~0) 1) (= (+ (* main_~y~0 (+ main_~s~0 (* main_~r~0 2))) (* (+ (* main_~p~0 2) main_~q~0) main_~x~0)) (+ (* main_~a~0 2) main_~b~0)) (< 0 main_~a~0) (= (+ main_~q~0 main_~p~0) 0) (= (+ 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; {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} is VALID [2022-04-08 04:24:35,329 INFO L290 TraceCheckUtils]: 71: Hoare triple {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} assume !false; {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} is VALID [2022-04-08 04:24:35,330 INFO L272 TraceCheckUtils]: 72: Hoare triple {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14429#true} is VALID [2022-04-08 04:24:35,330 INFO L290 TraceCheckUtils]: 73: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:24:35,330 INFO L290 TraceCheckUtils]: 74: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:24:35,330 INFO L290 TraceCheckUtils]: 75: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:24:35,330 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {14429#true} {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} #67#return; {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} is VALID [2022-04-08 04:24:35,336 INFO L272 TraceCheckUtils]: 77: Hoare triple {14650#(and (= (mod (+ main_~a~0 main_~y~0) 2) 0) (not (< (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 0)) (= main_~r~0 (- 3)) (= (* main_~x~0 (+ (* main_~p~0 2) (* 3 (div (+ (* (- 2) main_~p~0) 1) 3)))) (+ (* (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) 3) (* main_~a~0 2))) (= (mod (+ main_~p~0 1) 3) 0) (= (+ main_~p~0 (* 2 (div (+ (* (- 2) main_~p~0) 1) 3))) 0) (< 0 (+ (div (+ main_~a~0 (* (- 1) main_~y~0)) (- 2)) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14672#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:24:35,337 INFO L290 TraceCheckUtils]: 78: Hoare triple {14672#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14676#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:24:35,337 INFO L290 TraceCheckUtils]: 79: Hoare triple {14676#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14430#false} is VALID [2022-04-08 04:24:35,337 INFO L290 TraceCheckUtils]: 80: Hoare triple {14430#false} assume !false; {14430#false} is VALID [2022-04-08 04:24:35,337 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 42 proven. 53 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-08 04:24:35,338 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:25:26,889 INFO L290 TraceCheckUtils]: 80: Hoare triple {14430#false} assume !false; {14430#false} is VALID [2022-04-08 04:25:26,889 INFO L290 TraceCheckUtils]: 79: Hoare triple {14676#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14430#false} is VALID [2022-04-08 04:25:26,890 INFO L290 TraceCheckUtils]: 78: Hoare triple {14672#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14676#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:25:26,890 INFO L272 TraceCheckUtils]: 77: Hoare triple {14692#(= 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)); {14672#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:25:26,891 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {14429#true} {14692#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {14692#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:25:26,891 INFO L290 TraceCheckUtils]: 75: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:25:26,891 INFO L290 TraceCheckUtils]: 74: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:25:26,891 INFO L290 TraceCheckUtils]: 73: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:25:26,891 INFO L272 TraceCheckUtils]: 72: Hoare triple {14692#(= 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)); {14429#true} is VALID [2022-04-08 04:25:26,892 INFO L290 TraceCheckUtils]: 71: Hoare triple {14692#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {14692#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:25:26,982 INFO L290 TraceCheckUtils]: 70: Hoare triple {14714#(= (+ 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; {14692#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:25:26,982 INFO L290 TraceCheckUtils]: 69: Hoare triple {14714#(= (+ 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); {14714#(= (+ 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-08 04:25:26,983 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} {14721#(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)))))} #71#return; {14714#(= (+ 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-08 04:25:26,983 INFO L290 TraceCheckUtils]: 67: Hoare triple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:25:26,984 INFO L290 TraceCheckUtils]: 66: Hoare triple {14731#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:25:26,984 INFO L290 TraceCheckUtils]: 65: Hoare triple {14429#true} ~cond := #in~cond; {14731#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:25:26,984 INFO L272 TraceCheckUtils]: 64: Hoare triple {14721#(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)); {14429#true} is VALID [2022-04-08 04:25:26,985 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {14429#true} {14721#(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)))))} #69#return; {14721#(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-08 04:25:26,985 INFO L290 TraceCheckUtils]: 62: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:25:26,985 INFO L290 TraceCheckUtils]: 61: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:25:26,985 INFO L290 TraceCheckUtils]: 60: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:25:26,985 INFO L272 TraceCheckUtils]: 59: Hoare triple {14721#(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)); {14429#true} is VALID [2022-04-08 04:25:26,986 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {14429#true} {14721#(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)))))} #67#return; {14721#(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-08 04:25:26,986 INFO L290 TraceCheckUtils]: 57: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:25:26,986 INFO L290 TraceCheckUtils]: 56: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:25:26,986 INFO L290 TraceCheckUtils]: 55: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:25:26,986 INFO L272 TraceCheckUtils]: 54: Hoare triple {14721#(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)); {14429#true} is VALID [2022-04-08 04:25:26,986 INFO L290 TraceCheckUtils]: 53: Hoare triple {14721#(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 !false; {14721#(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-08 04:25:27,278 INFO L290 TraceCheckUtils]: 52: Hoare triple {14771#(or (< main_~b~0 main_~a~0) (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 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; {14721#(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-08 04:25:27,279 INFO L290 TraceCheckUtils]: 51: Hoare triple {14771#(or (< main_~b~0 main_~a~0) (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 2) (* (- 1) main_~b~0))))} assume !!(~a~0 != ~b~0); {14771#(or (< main_~b~0 main_~a~0) (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 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 04:25:27,280 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {14429#true} {14771#(or (< main_~b~0 main_~a~0) (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 2) (* (- 1) main_~b~0))))} #71#return; {14771#(or (< main_~b~0 main_~a~0) (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 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 04:25:27,280 INFO L290 TraceCheckUtils]: 49: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:25:27,280 INFO L290 TraceCheckUtils]: 48: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:25:27,280 INFO L290 TraceCheckUtils]: 47: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:25:27,280 INFO L272 TraceCheckUtils]: 46: Hoare triple {14771#(or (< main_~b~0 main_~a~0) (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 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14429#true} is VALID [2022-04-08 04:25:27,280 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {14429#true} {14771#(or (< main_~b~0 main_~a~0) (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 2) (* (- 1) main_~b~0))))} #69#return; {14771#(or (< main_~b~0 main_~a~0) (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 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 04:25:27,281 INFO L290 TraceCheckUtils]: 44: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:25:27,281 INFO L290 TraceCheckUtils]: 43: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:25:27,281 INFO L290 TraceCheckUtils]: 42: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:25:27,281 INFO L272 TraceCheckUtils]: 41: Hoare triple {14771#(or (< main_~b~0 main_~a~0) (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 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14429#true} is VALID [2022-04-08 04:25:27,281 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {14429#true} {14771#(or (< main_~b~0 main_~a~0) (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 2) (* (- 1) main_~b~0))))} #67#return; {14771#(or (< main_~b~0 main_~a~0) (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 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 04:25:27,281 INFO L290 TraceCheckUtils]: 39: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:25:27,281 INFO L290 TraceCheckUtils]: 38: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:25:27,282 INFO L290 TraceCheckUtils]: 37: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:25:27,282 INFO L272 TraceCheckUtils]: 36: Hoare triple {14771#(or (< main_~b~0 main_~a~0) (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 2) (* (- 1) main_~b~0))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14429#true} is VALID [2022-04-08 04:25:27,282 INFO L290 TraceCheckUtils]: 35: Hoare triple {14771#(or (< main_~b~0 main_~a~0) (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 2) (* (- 1) main_~b~0))))} assume !false; {14771#(or (< main_~b~0 main_~a~0) (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 2) (* (- 1) main_~b~0))))} is VALID [2022-04-08 04:25:29,285 WARN L290 TraceCheckUtils]: 34: Hoare triple {14826#(or (= (+ (* 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 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~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; {14771#(or (< main_~b~0 main_~a~0) (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 2) (* (- 1) main_~b~0))))} is UNKNOWN [2022-04-08 04:25:29,286 INFO L290 TraceCheckUtils]: 33: Hoare triple {14826#(or (= (+ (* 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 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} assume !!(~a~0 != ~b~0); {14826#(or (= (+ (* 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 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} is VALID [2022-04-08 04:25:29,287 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {14429#true} {14826#(or (= (+ (* 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 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} #71#return; {14826#(or (= (+ (* 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 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} is VALID [2022-04-08 04:25:29,287 INFO L290 TraceCheckUtils]: 31: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:25:29,287 INFO L290 TraceCheckUtils]: 30: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:25:29,287 INFO L290 TraceCheckUtils]: 29: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:25:29,287 INFO L272 TraceCheckUtils]: 28: Hoare triple {14826#(or (= (+ (* 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 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {14429#true} is VALID [2022-04-08 04:25:29,289 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} {14429#true} #69#return; {14826#(or (= (+ (* 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 (* (* main_~y~0 main_~r~0) 2) (* 2 (* (- 2) main_~q~0 main_~x~0)) (* 2 (* main_~p~0 main_~x~0)) (* (* (- 2) main_~y~0 main_~s~0) 2))) (not (< main_~b~0 main_~a~0)) (< (+ (* 2 (* main_~y~0 main_~s~0)) (* (* main_~q~0 main_~x~0) 2)) (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (- 2) main_~y~0 main_~s~0) (* main_~y~0 main_~r~0) main_~b~0 (* main_~p~0 main_~x~0) (* (- 2) main_~q~0 main_~x~0)))))} is VALID [2022-04-08 04:25:29,289 INFO L290 TraceCheckUtils]: 26: Hoare triple {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:25:29,289 INFO L290 TraceCheckUtils]: 25: Hoare triple {14731#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {14511#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:25:29,290 INFO L290 TraceCheckUtils]: 24: Hoare triple {14429#true} ~cond := #in~cond; {14731#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:25:29,290 INFO L272 TraceCheckUtils]: 23: Hoare triple {14429#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {14429#true} {14429#true} #67#return; {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L290 TraceCheckUtils]: 21: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L290 TraceCheckUtils]: 20: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L290 TraceCheckUtils]: 19: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L272 TraceCheckUtils]: 18: Hoare triple {14429#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L290 TraceCheckUtils]: 17: Hoare triple {14429#true} assume !false; {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L290 TraceCheckUtils]: 16: Hoare triple {14429#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14429#true} {14429#true} #65#return; {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L290 TraceCheckUtils]: 14: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L290 TraceCheckUtils]: 13: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L290 TraceCheckUtils]: 12: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L272 TraceCheckUtils]: 11: Hoare triple {14429#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14429#true} {14429#true} #63#return; {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L290 TraceCheckUtils]: 9: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L290 TraceCheckUtils]: 8: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-08 04:25:29,290 INFO L290 TraceCheckUtils]: 7: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-08 04:25:29,291 INFO L272 TraceCheckUtils]: 6: Hoare triple {14429#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {14429#true} is VALID [2022-04-08 04:25:29,291 INFO L290 TraceCheckUtils]: 5: Hoare triple {14429#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; {14429#true} is VALID [2022-04-08 04:25:29,291 INFO L272 TraceCheckUtils]: 4: Hoare triple {14429#true} call #t~ret6 := main(); {14429#true} is VALID [2022-04-08 04:25:29,291 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14429#true} {14429#true} #81#return; {14429#true} is VALID [2022-04-08 04:25:29,291 INFO L290 TraceCheckUtils]: 2: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-08 04:25:29,291 INFO L290 TraceCheckUtils]: 1: Hoare triple {14429#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); {14429#true} is VALID [2022-04-08 04:25:29,291 INFO L272 TraceCheckUtils]: 0: Hoare triple {14429#true} call ULTIMATE.init(); {14429#true} is VALID [2022-04-08 04:25:29,291 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 59 proven. 36 refuted. 0 times theorem prover too weak. 136 trivial. 0 not checked. [2022-04-08 04:25:29,291 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:25:29,291 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2086784733] [2022-04-08 04:25:29,291 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:25:29,292 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [174242013] [2022-04-08 04:25:29,292 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [174242013] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:25:29,292 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:25:29,292 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 17 [2022-04-08 04:25:29,292 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:25:29,292 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1297493692] [2022-04-08 04:25:29,292 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1297493692] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:25:29,292 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:25:29,292 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 04:25:29,292 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1212111143] [2022-04-08 04:25:29,292 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:25:29,293 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 81 [2022-04-08 04:25:29,293 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:25:29,293 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 04:25:29,935 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:25:29,935 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 04:25:29,935 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:25:29,936 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 04:25:29,936 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2022-04-08 04:25:29,936 INFO L87 Difference]: Start difference. First operand 216 states and 261 transitions. Second operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 04:25:43,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:25:43,162 INFO L93 Difference]: Finished difference Result 257 states and 311 transitions. [2022-04-08 04:25:43,162 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 04:25:43,163 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) Word has length 81 [2022-04-08 04:25:43,163 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:25:43,163 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 04:25:43,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 90 transitions. [2022-04-08 04:25:43,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 04:25:43,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 90 transitions. [2022-04-08 04:25:43,165 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 90 transitions. [2022-04-08 04:25:44,262 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:25:44,269 INFO L225 Difference]: With dead ends: 257 [2022-04-08 04:25:44,270 INFO L226 Difference]: Without dead ends: 255 [2022-04-08 04:25:44,270 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 144 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=75, Invalid=267, Unknown=0, NotChecked=0, Total=342 [2022-04-08 04:25:44,270 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 17 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 474 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 7.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 181 SdHoareTripleChecker+Invalid, 496 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 474 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 7.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:25:44,270 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 181 Invalid, 496 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 474 Invalid, 0 Unknown, 0 Unchecked, 7.0s Time] [2022-04-08 04:25:44,271 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 255 states. [2022-04-08 04:25:44,513 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 255 to 221. [2022-04-08 04:25:44,513 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:25:44,513 INFO L82 GeneralOperation]: Start isEquivalent. First operand 255 states. Second operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-08 04:25:44,513 INFO L74 IsIncluded]: Start isIncluded. First operand 255 states. Second operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-08 04:25:44,514 INFO L87 Difference]: Start difference. First operand 255 states. Second operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-08 04:25:44,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:25:44,518 INFO L93 Difference]: Finished difference Result 255 states and 309 transitions. [2022-04-08 04:25:44,518 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 309 transitions. [2022-04-08 04:25:44,519 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:25:44,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:25:44,519 INFO L74 IsIncluded]: Start isIncluded. First operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) Second operand 255 states. [2022-04-08 04:25:44,519 INFO L87 Difference]: Start difference. First operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) Second operand 255 states. [2022-04-08 04:25:44,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:25:44,523 INFO L93 Difference]: Finished difference Result 255 states and 309 transitions. [2022-04-08 04:25:44,523 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 309 transitions. [2022-04-08 04:25:44,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:25:44,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:25:44,524 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:25:44,524 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:25:44,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 221 states, 135 states have (on average 1.1333333333333333) internal successors, (153), 138 states have internal predecessors, (153), 55 states have call successors, (55), 31 states have call predecessors, (55), 30 states have return successors, (53), 51 states have call predecessors, (53), 53 states have call successors, (53) [2022-04-08 04:25:44,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 221 states to 221 states and 261 transitions. [2022-04-08 04:25:44,528 INFO L78 Accepts]: Start accepts. Automaton has 221 states and 261 transitions. Word has length 81 [2022-04-08 04:25:44,529 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:25:44,529 INFO L478 AbstractCegarLoop]: Abstraction has 221 states and 261 transitions. [2022-04-08 04:25:44,529 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.3636363636363638) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 6 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 04:25:44,529 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 221 states and 261 transitions. [2022-04-08 04:25:45,019 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 261 edges. 261 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:25:45,019 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 261 transitions. [2022-04-08 04:25:45,020 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-08 04:25:45,020 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:25:45,020 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 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-08 04:25:45,036 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-08 04:25:45,223 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-08 04:25:45,224 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:25:45,224 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:25:45,224 INFO L85 PathProgramCache]: Analyzing trace with hash -388774688, now seen corresponding path program 9 times [2022-04-08 04:25:45,224 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:25:45,224 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1791410237] [2022-04-08 04:25:45,224 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:25:45,224 INFO L85 PathProgramCache]: Analyzing trace with hash -388774688, now seen corresponding path program 10 times [2022-04-08 04:25:45,225 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:25:45,225 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1512497655] [2022-04-08 04:25:45,225 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:25:45,225 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:25:45,232 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:25:45,232 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [423571830] [2022-04-08 04:25:45,232 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:25:45,233 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:25:45,233 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:25:45,233 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:25:45,234 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-08 04:25:45,276 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:25:45,276 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:25:45,277 INFO L263 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-08 04:25:45,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:25:45,292 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:25:46,212 INFO L272 TraceCheckUtils]: 0: Hoare triple {16401#true} call ULTIMATE.init(); {16401#true} is VALID [2022-04-08 04:25:46,213 INFO L290 TraceCheckUtils]: 1: Hoare triple {16401#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); {16401#true} is VALID [2022-04-08 04:25:46,213 INFO L290 TraceCheckUtils]: 2: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:25:46,213 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16401#true} {16401#true} #81#return; {16401#true} is VALID [2022-04-08 04:25:46,213 INFO L272 TraceCheckUtils]: 4: Hoare triple {16401#true} call #t~ret6 := main(); {16401#true} is VALID [2022-04-08 04:25:46,213 INFO L290 TraceCheckUtils]: 5: Hoare triple {16401#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; {16401#true} is VALID [2022-04-08 04:25:46,213 INFO L272 TraceCheckUtils]: 6: Hoare triple {16401#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16401#true} is VALID [2022-04-08 04:25:46,213 INFO L290 TraceCheckUtils]: 7: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:25:46,213 INFO L290 TraceCheckUtils]: 8: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:25:46,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:25:46,213 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16401#true} {16401#true} #63#return; {16401#true} is VALID [2022-04-08 04:25:46,213 INFO L272 TraceCheckUtils]: 11: Hoare triple {16401#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16401#true} is VALID [2022-04-08 04:25:46,213 INFO L290 TraceCheckUtils]: 12: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:25:46,213 INFO L290 TraceCheckUtils]: 13: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:25:46,213 INFO L290 TraceCheckUtils]: 14: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:25:46,214 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16401#true} {16401#true} #65#return; {16401#true} is VALID [2022-04-08 04:25:46,214 INFO L290 TraceCheckUtils]: 16: Hoare triple {16401#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:25:46,214 INFO L290 TraceCheckUtils]: 17: Hoare triple {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:25:46,214 INFO L272 TraceCheckUtils]: 18: Hoare triple {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= 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)); {16401#true} is VALID [2022-04-08 04:25:46,214 INFO L290 TraceCheckUtils]: 19: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:25:46,214 INFO L290 TraceCheckUtils]: 20: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:25:46,214 INFO L290 TraceCheckUtils]: 21: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:25:46,215 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {16401#true} {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #67#return; {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:25:46,215 INFO L272 TraceCheckUtils]: 23: Hoare triple {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= 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)); {16401#true} is VALID [2022-04-08 04:25:46,215 INFO L290 TraceCheckUtils]: 24: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:25:46,215 INFO L290 TraceCheckUtils]: 25: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:25:46,215 INFO L290 TraceCheckUtils]: 26: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:25:46,216 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {16401#true} {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #69#return; {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:25:46,216 INFO L272 TraceCheckUtils]: 28: Hoare triple {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= 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)); {16401#true} is VALID [2022-04-08 04:25:46,216 INFO L290 TraceCheckUtils]: 29: Hoare triple {16401#true} ~cond := #in~cond; {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:25:46,216 INFO L290 TraceCheckUtils]: 30: Hoare triple {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:25:46,217 INFO L290 TraceCheckUtils]: 31: Hoare triple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:25:46,217 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} {16454#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #71#return; {16505#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:25:46,218 INFO L290 TraceCheckUtils]: 33: Hoare triple {16505#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !!(~a~0 != ~b~0); {16505#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~0 main_~x~0))} is VALID [2022-04-08 04:25:46,219 INFO L290 TraceCheckUtils]: 34: Hoare triple {16505#(and (= main_~r~0 0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= main_~s~0 1) (= main_~q~0 0) (= main_~a~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; {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-08 04:25:46,219 INFO L290 TraceCheckUtils]: 35: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume !false; {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-08 04:25:46,219 INFO L272 TraceCheckUtils]: 36: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~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)); {16401#true} is VALID [2022-04-08 04:25:46,219 INFO L290 TraceCheckUtils]: 37: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:25:46,219 INFO L290 TraceCheckUtils]: 38: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:25:46,219 INFO L290 TraceCheckUtils]: 39: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:25:46,220 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {16401#true} {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #67#return; {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-08 04:25:46,220 INFO L272 TraceCheckUtils]: 41: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~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)); {16401#true} is VALID [2022-04-08 04:25:46,220 INFO L290 TraceCheckUtils]: 42: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:25:46,220 INFO L290 TraceCheckUtils]: 43: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:25:46,220 INFO L290 TraceCheckUtils]: 44: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:25:46,221 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16401#true} {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #69#return; {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-08 04:25:46,221 INFO L272 TraceCheckUtils]: 46: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~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)); {16401#true} is VALID [2022-04-08 04:25:46,221 INFO L290 TraceCheckUtils]: 47: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:25:46,221 INFO L290 TraceCheckUtils]: 48: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:25:46,221 INFO L290 TraceCheckUtils]: 49: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:25:46,222 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16401#true} {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} #71#return; {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-08 04:25:46,222 INFO L290 TraceCheckUtils]: 51: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume !!(~a~0 != ~b~0); {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} is VALID [2022-04-08 04:25:46,223 INFO L290 TraceCheckUtils]: 52: Hoare triple {16512#(and (= main_~b~0 (+ (* (- 1) main_~a~0) (* (+ main_~s~0 main_~r~0) main_~y~0))) (= main_~r~0 0) (= (+ main_~s~0 main_~r~0) 1) (= main_~a~0 main_~x~0) (= main_~q~0 (* (- 1) main_~p~0)))} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:25:46,223 INFO L290 TraceCheckUtils]: 53: Hoare triple {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:25:46,223 INFO L272 TraceCheckUtils]: 54: Hoare triple {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~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)); {16401#true} is VALID [2022-04-08 04:25:46,223 INFO L290 TraceCheckUtils]: 55: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:25:46,223 INFO L290 TraceCheckUtils]: 56: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:25:46,224 INFO L290 TraceCheckUtils]: 57: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:25:46,224 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {16401#true} {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #67#return; {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:25:46,224 INFO L272 TraceCheckUtils]: 59: Hoare triple {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~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)); {16401#true} is VALID [2022-04-08 04:25:46,224 INFO L290 TraceCheckUtils]: 60: Hoare triple {16401#true} ~cond := #in~cond; {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:25:46,225 INFO L290 TraceCheckUtils]: 61: Hoare triple {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:25:46,225 INFO L290 TraceCheckUtils]: 62: Hoare triple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:25:46,226 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} {16567#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #69#return; {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:25:46,226 INFO L272 TraceCheckUtils]: 64: Hoare triple {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~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)); {16401#true} is VALID [2022-04-08 04:25:46,226 INFO L290 TraceCheckUtils]: 65: Hoare triple {16401#true} ~cond := #in~cond; {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:25:46,226 INFO L290 TraceCheckUtils]: 66: Hoare triple {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:25:46,227 INFO L290 TraceCheckUtils]: 67: Hoare triple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:25:46,227 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #71#return; {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:25:46,228 INFO L290 TraceCheckUtils]: 69: Hoare triple {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~0) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:25:46,232 INFO L290 TraceCheckUtils]: 70: Hoare triple {16601#(and (= main_~q~0 (+ (* (- 1) main_~q~0) (* (- 1) main_~p~0))) (= (+ (* (- 2) main_~s~0) 1) main_~r~0) (= (+ (* (- 1) main_~s~0) 1) 0) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (= (+ (* (- 1) main_~a~0) main_~y~0 (* (- 1) main_~b~0)) main_~b~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; {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} is VALID [2022-04-08 04:25:46,232 INFO L290 TraceCheckUtils]: 71: Hoare triple {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} assume !false; {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} is VALID [2022-04-08 04:25:46,233 INFO L272 TraceCheckUtils]: 72: Hoare triple {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16401#true} is VALID [2022-04-08 04:25:46,233 INFO L290 TraceCheckUtils]: 73: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:25:46,233 INFO L290 TraceCheckUtils]: 74: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:25:46,233 INFO L290 TraceCheckUtils]: 75: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:25:46,233 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {16401#true} {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} #67#return; {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} is VALID [2022-04-08 04:25:46,238 INFO L272 TraceCheckUtils]: 77: Hoare triple {16623#(and (= (- 1) (+ main_~r~0 1)) (= (+ (* (- 1) main_~y~0 main_~r~0) main_~x~0 (* (- 1) main_~y~0) (* (div main_~p~0 (- 3)) main_~x~0 2)) (+ main_~y~0 (* (- 1) main_~x~0))) (= (+ (* (- 2) (* (div main_~p~0 (- 3)) main_~x~0 2)) (* (- 2) (* (- 1) main_~y~0 main_~r~0)) (* (- 1) main_~x~0) (* main_~y~0 2)) main_~a~0) (= (mod main_~p~0 3) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16645#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:25:46,238 INFO L290 TraceCheckUtils]: 78: Hoare triple {16645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:25:46,239 INFO L290 TraceCheckUtils]: 79: Hoare triple {16649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16402#false} is VALID [2022-04-08 04:25:46,239 INFO L290 TraceCheckUtils]: 80: Hoare triple {16402#false} assume !false; {16402#false} is VALID [2022-04-08 04:25:46,239 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 59 proven. 51 refuted. 0 times theorem prover too weak. 121 trivial. 0 not checked. [2022-04-08 04:25:46,239 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:26:23,288 INFO L290 TraceCheckUtils]: 80: Hoare triple {16402#false} assume !false; {16402#false} is VALID [2022-04-08 04:26:23,288 INFO L290 TraceCheckUtils]: 79: Hoare triple {16649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16402#false} is VALID [2022-04-08 04:26:23,289 INFO L290 TraceCheckUtils]: 78: Hoare triple {16645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:23,289 INFO L272 TraceCheckUtils]: 77: Hoare triple {16665#(= 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)); {16645#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:26:23,290 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {16401#true} {16665#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {16665#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:26:23,290 INFO L290 TraceCheckUtils]: 75: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:26:23,290 INFO L290 TraceCheckUtils]: 74: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:26:23,290 INFO L290 TraceCheckUtils]: 73: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:26:23,290 INFO L272 TraceCheckUtils]: 72: Hoare triple {16665#(= 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)); {16401#true} is VALID [2022-04-08 04:26:23,290 INFO L290 TraceCheckUtils]: 71: Hoare triple {16665#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {16665#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:26:23,480 INFO L290 TraceCheckUtils]: 70: Hoare triple {16687#(= (+ 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; {16665#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:26:23,480 INFO L290 TraceCheckUtils]: 69: Hoare triple {16687#(= (+ 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); {16687#(= (+ 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-08 04:26:23,481 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} {16694#(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)))))} #71#return; {16687#(= (+ 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-08 04:26:23,482 INFO L290 TraceCheckUtils]: 67: Hoare triple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:23,482 INFO L290 TraceCheckUtils]: 66: Hoare triple {16704#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:23,482 INFO L290 TraceCheckUtils]: 65: Hoare triple {16401#true} ~cond := #in~cond; {16704#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:26:23,482 INFO L272 TraceCheckUtils]: 64: Hoare triple {16694#(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)); {16401#true} is VALID [2022-04-08 04:26:23,484 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} {16401#true} #69#return; {16694#(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-08 04:26:23,484 INFO L290 TraceCheckUtils]: 62: Hoare triple {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:23,484 INFO L290 TraceCheckUtils]: 61: Hoare triple {16704#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {16498#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:23,484 INFO L290 TraceCheckUtils]: 60: Hoare triple {16401#true} ~cond := #in~cond; {16704#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:26:23,485 INFO L272 TraceCheckUtils]: 59: Hoare triple {16401#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {16401#true} {16401#true} #67#return; {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L290 TraceCheckUtils]: 57: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L290 TraceCheckUtils]: 56: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L290 TraceCheckUtils]: 55: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L272 TraceCheckUtils]: 54: Hoare triple {16401#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L290 TraceCheckUtils]: 53: Hoare triple {16401#true} assume !false; {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L290 TraceCheckUtils]: 52: Hoare triple {16401#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L290 TraceCheckUtils]: 51: Hoare triple {16401#true} assume !!(~a~0 != ~b~0); {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16401#true} {16401#true} #71#return; {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L290 TraceCheckUtils]: 49: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L290 TraceCheckUtils]: 48: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L290 TraceCheckUtils]: 47: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L272 TraceCheckUtils]: 46: Hoare triple {16401#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16401#true} {16401#true} #69#return; {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L290 TraceCheckUtils]: 44: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L290 TraceCheckUtils]: 43: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:26:23,485 INFO L290 TraceCheckUtils]: 42: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:26:23,486 INFO L272 TraceCheckUtils]: 41: Hoare triple {16401#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16401#true} is VALID [2022-04-08 04:26:23,486 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {16401#true} {16401#true} #67#return; {16401#true} is VALID [2022-04-08 04:26:23,486 INFO L290 TraceCheckUtils]: 39: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:26:23,486 INFO L290 TraceCheckUtils]: 38: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:26:23,486 INFO L290 TraceCheckUtils]: 37: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:26:23,486 INFO L272 TraceCheckUtils]: 36: Hoare triple {16401#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16401#true} is VALID [2022-04-08 04:26:23,486 INFO L290 TraceCheckUtils]: 35: Hoare triple {16401#true} assume !false; {16401#true} is VALID [2022-04-08 04:26:23,489 INFO L290 TraceCheckUtils]: 34: Hoare triple {16401#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {16401#true} is VALID [2022-04-08 04:26:23,489 INFO L290 TraceCheckUtils]: 33: Hoare triple {16401#true} assume !!(~a~0 != ~b~0); {16401#true} is VALID [2022-04-08 04:26:23,489 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16401#true} {16401#true} #71#return; {16401#true} is VALID [2022-04-08 04:26:23,489 INFO L290 TraceCheckUtils]: 31: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:26:23,495 INFO L290 TraceCheckUtils]: 30: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:26:23,495 INFO L290 TraceCheckUtils]: 29: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:26:23,495 INFO L272 TraceCheckUtils]: 28: Hoare triple {16401#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {16401#true} is VALID [2022-04-08 04:26:23,496 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {16401#true} {16401#true} #69#return; {16401#true} is VALID [2022-04-08 04:26:23,496 INFO L290 TraceCheckUtils]: 26: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:26:23,496 INFO L290 TraceCheckUtils]: 25: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:26:23,496 INFO L290 TraceCheckUtils]: 24: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:26:23,496 INFO L272 TraceCheckUtils]: 23: Hoare triple {16401#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {16401#true} is VALID [2022-04-08 04:26:23,496 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {16401#true} {16401#true} #67#return; {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L290 TraceCheckUtils]: 21: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L290 TraceCheckUtils]: 20: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L290 TraceCheckUtils]: 19: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L272 TraceCheckUtils]: 18: Hoare triple {16401#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L290 TraceCheckUtils]: 17: Hoare triple {16401#true} assume !false; {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L290 TraceCheckUtils]: 16: Hoare triple {16401#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16401#true} {16401#true} #65#return; {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L290 TraceCheckUtils]: 14: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L290 TraceCheckUtils]: 13: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L290 TraceCheckUtils]: 12: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L272 TraceCheckUtils]: 11: Hoare triple {16401#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16401#true} {16401#true} #63#return; {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L290 TraceCheckUtils]: 9: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L290 TraceCheckUtils]: 8: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L290 TraceCheckUtils]: 7: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L272 TraceCheckUtils]: 6: Hoare triple {16401#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L290 TraceCheckUtils]: 5: Hoare triple {16401#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; {16401#true} is VALID [2022-04-08 04:26:23,497 INFO L272 TraceCheckUtils]: 4: Hoare triple {16401#true} call #t~ret6 := main(); {16401#true} is VALID [2022-04-08 04:26:23,498 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16401#true} {16401#true} #81#return; {16401#true} is VALID [2022-04-08 04:26:23,498 INFO L290 TraceCheckUtils]: 2: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-08 04:26:23,498 INFO L290 TraceCheckUtils]: 1: Hoare triple {16401#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); {16401#true} is VALID [2022-04-08 04:26:23,498 INFO L272 TraceCheckUtils]: 0: Hoare triple {16401#true} call ULTIMATE.init(); {16401#true} is VALID [2022-04-08 04:26:23,498 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 75 proven. 8 refuted. 0 times theorem prover too weak. 148 trivial. 0 not checked. [2022-04-08 04:26:23,498 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:26:23,498 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1512497655] [2022-04-08 04:26:23,498 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:26:23,498 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [423571830] [2022-04-08 04:26:23,498 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [423571830] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:26:23,498 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:26:23,498 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-08 04:26:23,499 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:26:23,499 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1791410237] [2022-04-08 04:26:23,499 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1791410237] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:26:23,499 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:26:23,499 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 04:26:23,500 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [256661878] [2022-04-08 04:26:23,500 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:26:23,500 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) Word has length 81 [2022-04-08 04:26:23,500 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:26:23,500 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 04:26:23,555 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:23,555 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 04:26:23,556 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:23,556 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 04:26:23,556 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=196, Unknown=0, NotChecked=0, Total=240 [2022-04-08 04:26:23,556 INFO L87 Difference]: Start difference. First operand 221 states and 261 transitions. Second operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 04:26:26,240 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:26,240 INFO L93 Difference]: Finished difference Result 261 states and 313 transitions. [2022-04-08 04:26:26,240 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-08 04:26:26,240 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) Word has length 81 [2022-04-08 04:26:26,240 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:26:26,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 04:26:26,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 90 transitions. [2022-04-08 04:26:26,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 04:26:26,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 90 transitions. [2022-04-08 04:26:26,244 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 90 transitions. [2022-04-08 04:26:26,349 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:26,354 INFO L225 Difference]: With dead ends: 261 [2022-04-08 04:26:26,354 INFO L226 Difference]: Without dead ends: 259 [2022-04-08 04:26:26,354 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 163 GetRequests, 145 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=57, Invalid=249, Unknown=0, NotChecked=0, Total=306 [2022-04-08 04:26:26,354 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 16 mSDsluCounter, 171 mSDsCounter, 0 mSdLazyCounter, 545 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 23 SdHoareTripleChecker+Valid, 214 SdHoareTripleChecker+Invalid, 557 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 545 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.0s IncrementalHoareTripleChecker+Time [2022-04-08 04:26:26,354 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 214 Invalid, 557 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 545 Invalid, 0 Unknown, 0 Unchecked, 1.0s Time] [2022-04-08 04:26:26,355 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 259 states. [2022-04-08 04:26:26,557 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 259 to 223. [2022-04-08 04:26:26,558 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:26:26,558 INFO L82 GeneralOperation]: Start isEquivalent. First operand 259 states. Second operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 04:26:26,558 INFO L74 IsIncluded]: Start isIncluded. First operand 259 states. Second operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 04:26:26,559 INFO L87 Difference]: Start difference. First operand 259 states. Second operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 04:26:26,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:26,563 INFO L93 Difference]: Finished difference Result 259 states and 311 transitions. [2022-04-08 04:26:26,563 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 311 transitions. [2022-04-08 04:26:26,563 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:26,563 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:26,564 INFO L74 IsIncluded]: Start isIncluded. First operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) Second operand 259 states. [2022-04-08 04:26:26,564 INFO L87 Difference]: Start difference. First operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) Second operand 259 states. [2022-04-08 04:26:26,568 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:26:26,568 INFO L93 Difference]: Finished difference Result 259 states and 311 transitions. [2022-04-08 04:26:26,568 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 311 transitions. [2022-04-08 04:26:26,569 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:26:26,569 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:26:26,569 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:26:26,569 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:26:26,569 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 223 states, 136 states have (on average 1.1323529411764706) internal successors, (154), 140 states have internal predecessors, (154), 56 states have call successors, (56), 31 states have call predecessors, (56), 30 states have return successors, (54), 51 states have call predecessors, (54), 54 states have call successors, (54) [2022-04-08 04:26:26,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 223 states to 223 states and 264 transitions. [2022-04-08 04:26:26,573 INFO L78 Accepts]: Start accepts. Automaton has 223 states and 264 transitions. Word has length 81 [2022-04-08 04:26:26,574 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:26:26,574 INFO L478 AbstractCegarLoop]: Abstraction has 223 states and 264 transitions. [2022-04-08 04:26:26,574 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 11 states have internal predecessors, (26), 6 states have call successors, (15), 2 states have call predecessors, (15), 2 states have return successors, (13), 7 states have call predecessors, (13), 6 states have call successors, (13) [2022-04-08 04:26:26,574 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 223 states and 264 transitions. [2022-04-08 04:26:27,388 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 264 edges. 264 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:26:27,388 INFO L276 IsEmpty]: Start isEmpty. Operand 223 states and 264 transitions. [2022-04-08 04:26:27,389 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-08 04:26:27,389 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:26:27,389 INFO L499 BasicCegarLoop]: trace histogram [11, 10, 10, 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-08 04:26:27,406 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-08 04:26:27,604 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable16 [2022-04-08 04:26:27,604 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:26:27,604 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:26:27,605 INFO L85 PathProgramCache]: Analyzing trace with hash 997428706, now seen corresponding path program 11 times [2022-04-08 04:26:27,605 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:26:27,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2121298831] [2022-04-08 04:26:27,605 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:26:27,605 INFO L85 PathProgramCache]: Analyzing trace with hash 997428706, now seen corresponding path program 12 times [2022-04-08 04:26:27,605 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:26:27,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1171149950] [2022-04-08 04:26:27,605 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:26:27,605 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:26:27,613 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:26:27,613 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [60125295] [2022-04-08 04:26:27,613 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:26:27,613 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:26:27,613 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:26:27,619 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:26:27,633 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-08 04:26:27,683 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 04:26:27,684 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:26:27,685 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-08 04:26:27,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:26:27,703 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:26:28,108 INFO L272 TraceCheckUtils]: 0: Hoare triple {18392#true} call ULTIMATE.init(); {18392#true} is VALID [2022-04-08 04:26:28,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {18392#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); {18392#true} is VALID [2022-04-08 04:26:28,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-08 04:26:28,108 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18392#true} {18392#true} #81#return; {18392#true} is VALID [2022-04-08 04:26:28,108 INFO L272 TraceCheckUtils]: 4: Hoare triple {18392#true} call #t~ret6 := main(); {18392#true} is VALID [2022-04-08 04:26:28,108 INFO L290 TraceCheckUtils]: 5: Hoare triple {18392#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; {18392#true} is VALID [2022-04-08 04:26:28,108 INFO L272 TraceCheckUtils]: 6: Hoare triple {18392#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {18392#true} is VALID [2022-04-08 04:26:28,108 INFO L290 TraceCheckUtils]: 7: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-08 04:26:28,109 INFO L290 TraceCheckUtils]: 8: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-08 04:26:28,109 INFO L290 TraceCheckUtils]: 9: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-08 04:26:28,109 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18392#true} {18392#true} #63#return; {18392#true} is VALID [2022-04-08 04:26:28,109 INFO L272 TraceCheckUtils]: 11: Hoare triple {18392#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {18392#true} is VALID [2022-04-08 04:26:28,109 INFO L290 TraceCheckUtils]: 12: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-08 04:26:28,109 INFO L290 TraceCheckUtils]: 13: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-08 04:26:28,109 INFO L290 TraceCheckUtils]: 14: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-08 04:26:28,109 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18392#true} {18392#true} #65#return; {18392#true} is VALID [2022-04-08 04:26:28,109 INFO L290 TraceCheckUtils]: 16: Hoare triple {18392#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,110 INFO L290 TraceCheckUtils]: 17: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,110 INFO L272 TraceCheckUtils]: 18: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-08 04:26:28,110 INFO L290 TraceCheckUtils]: 19: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-08 04:26:28,110 INFO L290 TraceCheckUtils]: 20: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-08 04:26:28,110 INFO L290 TraceCheckUtils]: 21: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-08 04:26:28,110 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,110 INFO L272 TraceCheckUtils]: 23: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-08 04:26:28,110 INFO L290 TraceCheckUtils]: 24: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-08 04:26:28,111 INFO L290 TraceCheckUtils]: 25: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-08 04:26:28,111 INFO L290 TraceCheckUtils]: 26: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-08 04:26:28,111 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,111 INFO L272 TraceCheckUtils]: 28: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-08 04:26:28,111 INFO L290 TraceCheckUtils]: 29: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-08 04:26:28,111 INFO L290 TraceCheckUtils]: 30: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-08 04:26:28,111 INFO L290 TraceCheckUtils]: 31: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-08 04:26:28,112 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,112 INFO L290 TraceCheckUtils]: 33: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,113 INFO L290 TraceCheckUtils]: 34: Hoare triple {18445#(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; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,113 INFO L290 TraceCheckUtils]: 35: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,113 INFO L272 TraceCheckUtils]: 36: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-08 04:26:28,113 INFO L290 TraceCheckUtils]: 37: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-08 04:26:28,113 INFO L290 TraceCheckUtils]: 38: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-08 04:26:28,113 INFO L290 TraceCheckUtils]: 39: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-08 04:26:28,114 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,114 INFO L272 TraceCheckUtils]: 41: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-08 04:26:28,114 INFO L290 TraceCheckUtils]: 42: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-08 04:26:28,114 INFO L290 TraceCheckUtils]: 43: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-08 04:26:28,114 INFO L290 TraceCheckUtils]: 44: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-08 04:26:28,114 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,114 INFO L272 TraceCheckUtils]: 46: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-08 04:26:28,115 INFO L290 TraceCheckUtils]: 47: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-08 04:26:28,115 INFO L290 TraceCheckUtils]: 48: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-08 04:26:28,115 INFO L290 TraceCheckUtils]: 49: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-08 04:26:28,115 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,116 INFO L290 TraceCheckUtils]: 51: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,116 INFO L290 TraceCheckUtils]: 52: Hoare triple {18445#(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; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,116 INFO L290 TraceCheckUtils]: 53: Hoare triple {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,116 INFO L272 TraceCheckUtils]: 54: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-08 04:26:28,116 INFO L290 TraceCheckUtils]: 55: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-08 04:26:28,116 INFO L290 TraceCheckUtils]: 56: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-08 04:26:28,117 INFO L290 TraceCheckUtils]: 57: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-08 04:26:28,117 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,117 INFO L272 TraceCheckUtils]: 59: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-08 04:26:28,117 INFO L290 TraceCheckUtils]: 60: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-08 04:26:28,117 INFO L290 TraceCheckUtils]: 61: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-08 04:26:28,117 INFO L290 TraceCheckUtils]: 62: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-08 04:26:28,118 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {18392#true} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:26:28,118 INFO L272 TraceCheckUtils]: 64: Hoare triple {18445#(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)); {18392#true} is VALID [2022-04-08 04:26:28,118 INFO L290 TraceCheckUtils]: 65: Hoare triple {18392#true} ~cond := #in~cond; {18593#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:28,118 INFO L290 TraceCheckUtils]: 66: Hoare triple {18593#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:28,119 INFO L290 TraceCheckUtils]: 67: Hoare triple {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:28,119 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} {18445#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {18604#(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-08 04:26:28,120 INFO L290 TraceCheckUtils]: 69: Hoare triple {18604#(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); {18604#(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-08 04:26:28,121 INFO L290 TraceCheckUtils]: 70: Hoare triple {18604#(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; {18611#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ 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)))))} is VALID [2022-04-08 04:26:28,121 INFO L290 TraceCheckUtils]: 71: Hoare triple {18611#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ 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)))))} assume !false; {18611#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ 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)))))} is VALID [2022-04-08 04:26:28,121 INFO L272 TraceCheckUtils]: 72: Hoare triple {18611#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ 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)))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {18392#true} is VALID [2022-04-08 04:26:28,121 INFO L290 TraceCheckUtils]: 73: Hoare triple {18392#true} ~cond := #in~cond; {18593#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:28,122 INFO L290 TraceCheckUtils]: 74: Hoare triple {18593#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:28,122 INFO L290 TraceCheckUtils]: 75: Hoare triple {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:26:28,125 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {18597#(not (= |__VERIFIER_assert_#in~cond| 0))} {18611#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ 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)))))} #67#return; {18630#(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-08 04:26:28,125 INFO L272 TraceCheckUtils]: 77: Hoare triple {18630#(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)); {18634#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:26:28,126 INFO L290 TraceCheckUtils]: 78: Hoare triple {18634#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18638#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:26:28,126 INFO L290 TraceCheckUtils]: 79: Hoare triple {18638#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18393#false} is VALID [2022-04-08 04:26:28,126 INFO L290 TraceCheckUtils]: 80: Hoare triple {18393#false} assume !false; {18393#false} is VALID [2022-04-08 04:26:28,126 INFO L134 CoverageAnalysis]: Checked inductivity of 231 backedges. 70 proven. 11 refuted. 0 times theorem prover too weak. 150 trivial. 0 not checked. [2022-04-08 04:26:28,126 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:28:55,513 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:28:55,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1171149950] [2022-04-08 04:28:55,514 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:28:55,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [60125295] [2022-04-08 04:28:55,514 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [60125295] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-08 04:28:55,514 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-08 04:28:55,514 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-08 04:28:55,514 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:28:55,514 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2121298831] [2022-04-08 04:28:55,514 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2121298831] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:28:55,514 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:28:55,514 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 04:28:55,514 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [446928133] [2022-04-08 04:28:55,514 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:28:55,515 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 81 [2022-04-08 04:28:55,515 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:28:55,515 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 04:28:55,548 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-08 04:28:55,548 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 04:28:55,548 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:55,548 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 04:28:55,549 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=47, Invalid=162, Unknown=1, NotChecked=0, Total=210 [2022-04-08 04:28:55,549 INFO L87 Difference]: Start difference. First operand 223 states and 264 transitions. Second operand has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 04:28:57,619 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:57,620 INFO L93 Difference]: Finished difference Result 282 states and 346 transitions. [2022-04-08 04:28:57,620 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 04:28:57,620 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) Word has length 81 [2022-04-08 04:28:57,620 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:28:57,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 04:28:57,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-08 04:28:57,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 04:28:57,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-08 04:28:57,623 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-08 04:28:57,799 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-08 04:28:57,805 INFO L225 Difference]: With dead ends: 282 [2022-04-08 04:28:57,806 INFO L226 Difference]: Without dead ends: 276 [2022-04-08 04:28:57,806 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 96 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=67, Invalid=238, Unknown=1, NotChecked=0, Total=306 [2022-04-08 04:28:57,806 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 19 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 405 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 171 SdHoareTripleChecker+Invalid, 427 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 405 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-04-08 04:28:57,807 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 171 Invalid, 427 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 405 Invalid, 0 Unknown, 0 Unchecked, 0.8s Time] [2022-04-08 04:28:57,807 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 276 states. [2022-04-08 04:28:58,067 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 276 to 233. [2022-04-08 04:28:58,068 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:28:58,068 INFO L82 GeneralOperation]: Start isEquivalent. First operand 276 states. Second operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-08 04:28:58,069 INFO L74 IsIncluded]: Start isIncluded. First operand 276 states. Second operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-08 04:28:58,069 INFO L87 Difference]: Start difference. First operand 276 states. Second operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-08 04:28:58,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:58,074 INFO L93 Difference]: Finished difference Result 276 states and 336 transitions. [2022-04-08 04:28:58,074 INFO L276 IsEmpty]: Start isEmpty. Operand 276 states and 336 transitions. [2022-04-08 04:28:58,075 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:58,075 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:58,075 INFO L74 IsIncluded]: Start isIncluded. First operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) Second operand 276 states. [2022-04-08 04:28:58,076 INFO L87 Difference]: Start difference. First operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) Second operand 276 states. [2022-04-08 04:28:58,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:28:58,082 INFO L93 Difference]: Finished difference Result 276 states and 336 transitions. [2022-04-08 04:28:58,082 INFO L276 IsEmpty]: Start isEmpty. Operand 276 states and 336 transitions. [2022-04-08 04:28:58,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:28:58,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:28:58,084 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:28:58,084 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:28:58,084 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 233 states, 142 states have (on average 1.119718309859155) internal successors, (159), 147 states have internal predecessors, (159), 58 states have call successors, (58), 33 states have call predecessors, (58), 32 states have return successors, (56), 52 states have call predecessors, (56), 56 states have call successors, (56) [2022-04-08 04:28:58,089 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 233 states to 233 states and 273 transitions. [2022-04-08 04:28:58,090 INFO L78 Accepts]: Start accepts. Automaton has 233 states and 273 transitions. Word has length 81 [2022-04-08 04:28:58,090 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:28:58,090 INFO L478 AbstractCegarLoop]: Abstraction has 233 states and 273 transitions. [2022-04-08 04:28:58,090 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.4444444444444446) internal successors, (22), 8 states have internal predecessors, (22), 4 states have call successors, (9), 2 states have call predecessors, (9), 2 states have return successors, (8), 4 states have call predecessors, (8), 3 states have call successors, (8) [2022-04-08 04:28:58,090 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 233 states and 273 transitions. [2022-04-08 04:28:59,338 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 273 edges. 273 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:28:59,339 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 273 transitions. [2022-04-08 04:28:59,339 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 04:28:59,339 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:28:59,339 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 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-08 04:28:59,356 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-08 04:28:59,556 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable17 [2022-04-08 04:28:59,556 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:28:59,556 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:28:59,557 INFO L85 PathProgramCache]: Analyzing trace with hash 327884660, now seen corresponding path program 13 times [2022-04-08 04:28:59,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:28:59,557 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1745321273] [2022-04-08 04:28:59,557 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:28:59,557 INFO L85 PathProgramCache]: Analyzing trace with hash 327884660, now seen corresponding path program 14 times [2022-04-08 04:28:59,557 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:28:59,557 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1410367061] [2022-04-08 04:28:59,557 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:28:59,557 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:28:59,565 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:28:59,566 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [339290865] [2022-04-08 04:28:59,566 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:28:59,566 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:28:59,566 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:28:59,571 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:28:59,572 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-08 04:28:59,628 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:28:59,628 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:28:59,629 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-08 04:28:59,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:28:59,642 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:29:00,642 INFO L272 TraceCheckUtils]: 0: Hoare triple {20330#true} call ULTIMATE.init(); {20330#true} is VALID [2022-04-08 04:29:00,643 INFO L290 TraceCheckUtils]: 1: Hoare triple {20330#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); {20330#true} is VALID [2022-04-08 04:29:00,643 INFO L290 TraceCheckUtils]: 2: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:00,643 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20330#true} {20330#true} #81#return; {20330#true} is VALID [2022-04-08 04:29:00,643 INFO L272 TraceCheckUtils]: 4: Hoare triple {20330#true} call #t~ret6 := main(); {20330#true} is VALID [2022-04-08 04:29:00,643 INFO L290 TraceCheckUtils]: 5: Hoare triple {20330#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; {20330#true} is VALID [2022-04-08 04:29:00,643 INFO L272 TraceCheckUtils]: 6: Hoare triple {20330#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20330#true} is VALID [2022-04-08 04:29:00,643 INFO L290 TraceCheckUtils]: 7: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:00,643 INFO L290 TraceCheckUtils]: 8: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:00,643 INFO L290 TraceCheckUtils]: 9: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:00,643 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20330#true} {20330#true} #63#return; {20330#true} is VALID [2022-04-08 04:29:00,643 INFO L272 TraceCheckUtils]: 11: Hoare triple {20330#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20330#true} is VALID [2022-04-08 04:29:00,643 INFO L290 TraceCheckUtils]: 12: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:00,643 INFO L290 TraceCheckUtils]: 13: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:00,643 INFO L290 TraceCheckUtils]: 14: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:00,643 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20330#true} {20330#true} #65#return; {20330#true} is VALID [2022-04-08 04:29:00,644 INFO L290 TraceCheckUtils]: 16: Hoare triple {20330#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20383#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:00,644 INFO L290 TraceCheckUtils]: 17: Hoare triple {20383#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {20383#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:00,644 INFO L272 TraceCheckUtils]: 18: Hoare triple {20383#(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)); {20330#true} is VALID [2022-04-08 04:29:00,644 INFO L290 TraceCheckUtils]: 19: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:00,644 INFO L290 TraceCheckUtils]: 20: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:00,644 INFO L290 TraceCheckUtils]: 21: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:00,645 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {20330#true} {20383#(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))} #67#return; {20383#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:00,645 INFO L272 TraceCheckUtils]: 23: Hoare triple {20383#(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)); {20330#true} is VALID [2022-04-08 04:29:00,645 INFO L290 TraceCheckUtils]: 24: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:00,645 INFO L290 TraceCheckUtils]: 25: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:00,645 INFO L290 TraceCheckUtils]: 26: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:00,646 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {20330#true} {20383#(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))} #69#return; {20383#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:00,646 INFO L272 TraceCheckUtils]: 28: Hoare triple {20383#(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)); {20330#true} is VALID [2022-04-08 04:29:00,646 INFO L290 TraceCheckUtils]: 29: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:00,646 INFO L290 TraceCheckUtils]: 30: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:00,646 INFO L290 TraceCheckUtils]: 31: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:00,647 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20330#true} {20383#(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))} #71#return; {20383#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:00,648 INFO L290 TraceCheckUtils]: 33: Hoare triple {20383#(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); {20383#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:29:00,648 INFO L290 TraceCheckUtils]: 34: Hoare triple {20383#(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; {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= 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-08 04:29:00,649 INFO L290 TraceCheckUtils]: 35: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= 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 !false; {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= 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-08 04:29:00,649 INFO L272 TraceCheckUtils]: 36: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= 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)); {20330#true} is VALID [2022-04-08 04:29:00,649 INFO L290 TraceCheckUtils]: 37: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:00,649 INFO L290 TraceCheckUtils]: 38: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:00,649 INFO L290 TraceCheckUtils]: 39: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:00,649 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {20330#true} {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #67#return; {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= 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-08 04:29:00,650 INFO L272 TraceCheckUtils]: 41: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= 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)); {20330#true} is VALID [2022-04-08 04:29:00,650 INFO L290 TraceCheckUtils]: 42: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:00,650 INFO L290 TraceCheckUtils]: 43: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:00,650 INFO L290 TraceCheckUtils]: 44: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:00,650 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {20330#true} {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #69#return; {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= 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-08 04:29:00,651 INFO L272 TraceCheckUtils]: 46: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= 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)); {20330#true} is VALID [2022-04-08 04:29:00,651 INFO L290 TraceCheckUtils]: 47: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:00,651 INFO L290 TraceCheckUtils]: 48: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:00,651 INFO L290 TraceCheckUtils]: 49: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:00,651 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20330#true} {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #71#return; {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= 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-08 04:29:00,652 INFO L290 TraceCheckUtils]: 51: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= 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); {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= 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-08 04:29:00,653 INFO L290 TraceCheckUtils]: 52: Hoare triple {20438#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= 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;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-08 04:29:00,653 INFO L290 TraceCheckUtils]: 53: Hoare triple {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} assume !false; {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-08 04:29:00,654 INFO L272 TraceCheckUtils]: 54: Hoare triple {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {20330#true} is VALID [2022-04-08 04:29:00,654 INFO L290 TraceCheckUtils]: 55: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:00,654 INFO L290 TraceCheckUtils]: 56: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:00,654 INFO L290 TraceCheckUtils]: 57: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:00,654 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {20330#true} {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #67#return; {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-08 04:29:00,655 INFO L272 TraceCheckUtils]: 59: Hoare triple {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {20330#true} is VALID [2022-04-08 04:29:00,655 INFO L290 TraceCheckUtils]: 60: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:00,655 INFO L290 TraceCheckUtils]: 61: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:00,655 INFO L290 TraceCheckUtils]: 62: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:00,655 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {20330#true} {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #69#return; {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-08 04:29:00,656 INFO L272 TraceCheckUtils]: 64: Hoare triple {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {20330#true} is VALID [2022-04-08 04:29:00,656 INFO L290 TraceCheckUtils]: 65: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:00,656 INFO L290 TraceCheckUtils]: 66: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:00,656 INFO L290 TraceCheckUtils]: 67: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:00,656 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {20330#true} {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #71#return; {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-08 04:29:00,657 INFO L290 TraceCheckUtils]: 69: Hoare triple {20493#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {20545#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:29:00,658 INFO L290 TraceCheckUtils]: 70: Hoare triple {20545#(and (= (+ main_~r~0 (* main_~s~0 2)) 0) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0) (not (= 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; {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-08 04:29:00,659 INFO L290 TraceCheckUtils]: 71: Hoare triple {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} assume !false; {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-08 04:29:00,659 INFO L272 TraceCheckUtils]: 72: Hoare triple {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (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)); {20330#true} is VALID [2022-04-08 04:29:00,659 INFO L290 TraceCheckUtils]: 73: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:00,659 INFO L290 TraceCheckUtils]: 74: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:00,659 INFO L290 TraceCheckUtils]: 75: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:00,660 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {20330#true} {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #67#return; {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-08 04:29:00,660 INFO L272 TraceCheckUtils]: 77: Hoare triple {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (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)); {20330#true} is VALID [2022-04-08 04:29:00,660 INFO L290 TraceCheckUtils]: 78: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:00,660 INFO L290 TraceCheckUtils]: 79: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:00,660 INFO L290 TraceCheckUtils]: 80: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:00,661 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {20330#true} {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} #69#return; {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (not (= (+ main_~y~0 (* (- 1) main_~b~0)) main_~y~0)))} is VALID [2022-04-08 04:29:00,662 INFO L272 TraceCheckUtils]: 82: Hoare triple {20549#(and (= (+ 3 (* (- 1) main_~s~0)) 0) (= (+ main_~x~0 (* (- 1) main_~y~0)) (+ (* (- 1) main_~b~0) (* main_~y~0 2))) (< main_~b~0 main_~y~0) (not (< main_~b~0 0)) (= (* (- 1) main_~q~0) 1) (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)); {20586#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:29:00,662 INFO L290 TraceCheckUtils]: 83: Hoare triple {20586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:29:00,662 INFO L290 TraceCheckUtils]: 84: Hoare triple {20590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20331#false} is VALID [2022-04-08 04:29:00,662 INFO L290 TraceCheckUtils]: 85: Hoare triple {20331#false} assume !false; {20331#false} is VALID [2022-04-08 04:29:00,663 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 22 proven. 30 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-08 04:29:00,663 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:29:01,344 INFO L290 TraceCheckUtils]: 85: Hoare triple {20331#false} assume !false; {20331#false} is VALID [2022-04-08 04:29:01,345 INFO L290 TraceCheckUtils]: 84: Hoare triple {20590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20331#false} is VALID [2022-04-08 04:29:01,345 INFO L290 TraceCheckUtils]: 83: Hoare triple {20586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:29:01,346 INFO L272 TraceCheckUtils]: 82: Hoare triple {20606#(= 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)); {20586#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:29:01,346 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {20330#true} {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #69#return; {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:29:01,346 INFO L290 TraceCheckUtils]: 80: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:01,347 INFO L290 TraceCheckUtils]: 79: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:01,347 INFO L290 TraceCheckUtils]: 78: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:01,347 INFO L272 TraceCheckUtils]: 77: Hoare triple {20606#(= 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)); {20330#true} is VALID [2022-04-08 04:29:01,347 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {20330#true} {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} #67#return; {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:29:01,347 INFO L290 TraceCheckUtils]: 75: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:01,347 INFO L290 TraceCheckUtils]: 74: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:01,347 INFO L290 TraceCheckUtils]: 73: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:01,347 INFO L272 TraceCheckUtils]: 72: Hoare triple {20606#(= 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)); {20330#true} is VALID [2022-04-08 04:29:01,348 INFO L290 TraceCheckUtils]: 71: Hoare triple {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} assume !false; {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:29:01,476 INFO L290 TraceCheckUtils]: 70: Hoare triple {20643#(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; {20606#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:29:01,477 INFO L290 TraceCheckUtils]: 69: Hoare triple {20647#(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); {20643#(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-08 04:29:01,478 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {20330#true} {20647#(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)))} #71#return; {20647#(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-08 04:29:01,478 INFO L290 TraceCheckUtils]: 67: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:01,478 INFO L290 TraceCheckUtils]: 66: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:01,478 INFO L290 TraceCheckUtils]: 65: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:01,478 INFO L272 TraceCheckUtils]: 64: Hoare triple {20647#(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)); {20330#true} is VALID [2022-04-08 04:29:01,478 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {20330#true} {20647#(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)))} #69#return; {20647#(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-08 04:29:01,478 INFO L290 TraceCheckUtils]: 62: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:01,479 INFO L290 TraceCheckUtils]: 61: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:01,479 INFO L290 TraceCheckUtils]: 60: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:01,479 INFO L272 TraceCheckUtils]: 59: Hoare triple {20647#(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)); {20330#true} is VALID [2022-04-08 04:29:01,479 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {20330#true} {20647#(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)))} #67#return; {20647#(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-08 04:29:01,479 INFO L290 TraceCheckUtils]: 57: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:01,479 INFO L290 TraceCheckUtils]: 56: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:01,479 INFO L290 TraceCheckUtils]: 55: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:01,479 INFO L272 TraceCheckUtils]: 54: Hoare triple {20647#(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)); {20330#true} is VALID [2022-04-08 04:29:01,480 INFO L290 TraceCheckUtils]: 53: Hoare triple {20647#(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 !false; {20647#(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-08 04:29:01,726 INFO L290 TraceCheckUtils]: 52: Hoare triple {20699#(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; {20647#(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-08 04:29:01,727 INFO L290 TraceCheckUtils]: 51: Hoare triple {20699#(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); {20699#(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-08 04:29:01,727 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {20330#true} {20699#(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))} #71#return; {20699#(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-08 04:29:01,728 INFO L290 TraceCheckUtils]: 49: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:01,728 INFO L290 TraceCheckUtils]: 48: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:01,728 INFO L290 TraceCheckUtils]: 47: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:01,728 INFO L272 TraceCheckUtils]: 46: Hoare triple {20699#(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)); {20330#true} is VALID [2022-04-08 04:29:01,728 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {20330#true} {20699#(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))} #69#return; {20699#(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-08 04:29:01,728 INFO L290 TraceCheckUtils]: 44: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:01,728 INFO L290 TraceCheckUtils]: 43: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:01,729 INFO L290 TraceCheckUtils]: 42: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:01,729 INFO L272 TraceCheckUtils]: 41: Hoare triple {20699#(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)); {20330#true} is VALID [2022-04-08 04:29:01,729 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {20330#true} {20699#(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))} #67#return; {20699#(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-08 04:29:01,729 INFO L290 TraceCheckUtils]: 39: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:01,729 INFO L290 TraceCheckUtils]: 38: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:01,729 INFO L290 TraceCheckUtils]: 37: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:01,729 INFO L272 TraceCheckUtils]: 36: Hoare triple {20699#(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)); {20330#true} is VALID [2022-04-08 04:29:01,730 INFO L290 TraceCheckUtils]: 35: Hoare triple {20699#(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 !false; {20699#(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-08 04:29:02,147 INFO L290 TraceCheckUtils]: 34: Hoare triple {20754#(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; {20699#(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-08 04:29:02,148 INFO L290 TraceCheckUtils]: 33: Hoare triple {20754#(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); {20754#(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-08 04:29:02,149 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {20330#true} {20754#(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)))} #71#return; {20754#(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-08 04:29:02,149 INFO L290 TraceCheckUtils]: 31: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:02,149 INFO L290 TraceCheckUtils]: 30: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:02,149 INFO L290 TraceCheckUtils]: 29: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:02,149 INFO L272 TraceCheckUtils]: 28: Hoare triple {20754#(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)); {20330#true} is VALID [2022-04-08 04:29:02,150 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {20330#true} {20754#(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)))} #69#return; {20754#(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-08 04:29:02,150 INFO L290 TraceCheckUtils]: 26: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:02,150 INFO L290 TraceCheckUtils]: 25: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:02,150 INFO L290 TraceCheckUtils]: 24: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:02,150 INFO L272 TraceCheckUtils]: 23: Hoare triple {20754#(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)); {20330#true} is VALID [2022-04-08 04:29:02,151 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {20330#true} {20754#(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)))} #67#return; {20754#(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-08 04:29:02,151 INFO L290 TraceCheckUtils]: 21: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:02,151 INFO L290 TraceCheckUtils]: 20: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:02,151 INFO L290 TraceCheckUtils]: 19: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:02,151 INFO L272 TraceCheckUtils]: 18: Hoare triple {20754#(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)); {20330#true} is VALID [2022-04-08 04:29:02,151 INFO L290 TraceCheckUtils]: 17: Hoare triple {20754#(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 !false; {20754#(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-08 04:29:02,152 INFO L290 TraceCheckUtils]: 16: Hoare triple {20330#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {20754#(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-08 04:29:02,152 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20330#true} {20330#true} #65#return; {20330#true} is VALID [2022-04-08 04:29:02,152 INFO L290 TraceCheckUtils]: 14: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:02,152 INFO L290 TraceCheckUtils]: 13: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:02,152 INFO L290 TraceCheckUtils]: 12: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:02,152 INFO L272 TraceCheckUtils]: 11: Hoare triple {20330#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {20330#true} is VALID [2022-04-08 04:29:02,152 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20330#true} {20330#true} #63#return; {20330#true} is VALID [2022-04-08 04:29:02,152 INFO L290 TraceCheckUtils]: 9: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:02,153 INFO L290 TraceCheckUtils]: 8: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-08 04:29:02,153 INFO L290 TraceCheckUtils]: 7: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-08 04:29:02,153 INFO L272 TraceCheckUtils]: 6: Hoare triple {20330#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {20330#true} is VALID [2022-04-08 04:29:02,153 INFO L290 TraceCheckUtils]: 5: Hoare triple {20330#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; {20330#true} is VALID [2022-04-08 04:29:02,153 INFO L272 TraceCheckUtils]: 4: Hoare triple {20330#true} call #t~ret6 := main(); {20330#true} is VALID [2022-04-08 04:29:02,153 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20330#true} {20330#true} #81#return; {20330#true} is VALID [2022-04-08 04:29:02,153 INFO L290 TraceCheckUtils]: 2: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-08 04:29:02,153 INFO L290 TraceCheckUtils]: 1: Hoare triple {20330#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); {20330#true} is VALID [2022-04-08 04:29:02,153 INFO L272 TraceCheckUtils]: 0: Hoare triple {20330#true} call ULTIMATE.init(); {20330#true} is VALID [2022-04-08 04:29:02,153 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 22 proven. 30 refuted. 0 times theorem prover too weak. 224 trivial. 0 not checked. [2022-04-08 04:29:02,153 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:29:02,154 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1410367061] [2022-04-08 04:29:02,154 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:29:02,154 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [339290865] [2022-04-08 04:29:02,154 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [339290865] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:29:02,154 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:29:02,154 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-08 04:29:02,154 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:29:02,154 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1745321273] [2022-04-08 04:29:02,154 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1745321273] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:29:02,154 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:29:02,154 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-08 04:29:02,154 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1159246733] [2022-04-08 04:29:02,154 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:29:02,155 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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 86 [2022-04-08 04:29:02,155 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:29:02,155 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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-08 04:29:02,215 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:29:02,215 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-08 04:29:02,215 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:29:02,216 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-08 04:29:02,216 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-08 04:29:02,216 INFO L87 Difference]: Start difference. First operand 233 states and 273 transitions. Second operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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-08 04:29:05,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:29:05,252 INFO L93 Difference]: Finished difference Result 255 states and 307 transitions. [2022-04-08 04:29:05,252 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-08 04:29:05,252 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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 86 [2022-04-08 04:29:05,252 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:29:05,252 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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-08 04:29:05,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 90 transitions. [2022-04-08 04:29:05,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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-08 04:29:05,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 90 transitions. [2022-04-08 04:29:05,254 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 90 transitions. [2022-04-08 04:29:05,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:29:05,360 INFO L225 Difference]: With dead ends: 255 [2022-04-08 04:29:05,360 INFO L226 Difference]: Without dead ends: 249 [2022-04-08 04:29:05,360 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 172 GetRequests, 158 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=52, Invalid=158, Unknown=0, NotChecked=0, Total=210 [2022-04-08 04:29:05,360 INFO L913 BasicCegarLoop]: 51 mSDtfsCounter, 9 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 293 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 13 SdHoareTripleChecker+Valid, 208 SdHoareTripleChecker+Invalid, 303 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 293 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-08 04:29:05,361 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [13 Valid, 208 Invalid, 303 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 293 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-08 04:29:05,361 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 249 states. [2022-04-08 04:29:05,617 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 249 to 236. [2022-04-08 04:29:05,617 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:29:05,618 INFO L82 GeneralOperation]: Start isEquivalent. First operand 249 states. Second operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-08 04:29:05,618 INFO L74 IsIncluded]: Start isIncluded. First operand 249 states. Second operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-08 04:29:05,618 INFO L87 Difference]: Start difference. First operand 249 states. Second operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-08 04:29:05,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:29:05,622 INFO L93 Difference]: Finished difference Result 249 states and 296 transitions. [2022-04-08 04:29:05,622 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 296 transitions. [2022-04-08 04:29:05,623 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:29:05,623 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:29:05,623 INFO L74 IsIncluded]: Start isIncluded. First operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 249 states. [2022-04-08 04:29:05,623 INFO L87 Difference]: Start difference. First operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) Second operand 249 states. [2022-04-08 04:29:05,627 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:29:05,627 INFO L93 Difference]: Finished difference Result 249 states and 296 transitions. [2022-04-08 04:29:05,627 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 296 transitions. [2022-04-08 04:29:05,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:29:05,628 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:29:05,628 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:29:05,628 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:29:05,628 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 236 states, 143 states have (on average 1.118881118881119) internal successors, (160), 149 states have internal predecessors, (160), 60 states have call successors, (60), 33 states have call predecessors, (60), 32 states have return successors, (58), 53 states have call predecessors, (58), 58 states have call successors, (58) [2022-04-08 04:29:05,632 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 236 states to 236 states and 278 transitions. [2022-04-08 04:29:05,633 INFO L78 Accepts]: Start accepts. Automaton has 236 states and 278 transitions. Word has length 86 [2022-04-08 04:29:05,633 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:29:05,633 INFO L478 AbstractCegarLoop]: Abstraction has 236 states and 278 transitions. [2022-04-08 04:29:05,633 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.5555555555555554) internal successors, (23), 8 states have internal predecessors, (23), 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-08 04:29:05,633 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 236 states and 278 transitions. [2022-04-08 04:29:06,565 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 278 edges. 278 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:29:06,566 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 278 transitions. [2022-04-08 04:29:06,579 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 04:29:06,579 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:29:06,579 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 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-08 04:29:06,608 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-08 04:29:06,780 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:29:06,780 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:29:06,781 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:29:06,781 INFO L85 PathProgramCache]: Analyzing trace with hash -1916098638, now seen corresponding path program 15 times [2022-04-08 04:29:06,781 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:29:06,781 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2089029087] [2022-04-08 04:29:06,781 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:29:06,781 INFO L85 PathProgramCache]: Analyzing trace with hash -1916098638, now seen corresponding path program 16 times [2022-04-08 04:29:06,781 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:29:06,781 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1595947667] [2022-04-08 04:29:06,781 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:29:06,782 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:29:06,791 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:29:06,792 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [73264522] [2022-04-08 04:29:06,792 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:29:06,792 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:29:06,792 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:29:06,797 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:29:06,798 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-08 04:29:06,840 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:29:06,840 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:29:06,842 INFO L263 TraceCheckSpWp]: Trace formula consists of 182 conjuncts, 50 conjunts are in the unsatisfiable core [2022-04-08 04:29:06,863 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:29:06,865 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:30:23,571 INFO L272 TraceCheckUtils]: 0: Hoare triple {22341#true} call ULTIMATE.init(); {22341#true} is VALID [2022-04-08 04:30:23,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {22341#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); {22341#true} is VALID [2022-04-08 04:30:23,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:30:23,572 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22341#true} {22341#true} #81#return; {22341#true} is VALID [2022-04-08 04:30:23,572 INFO L272 TraceCheckUtils]: 4: Hoare triple {22341#true} call #t~ret6 := main(); {22341#true} is VALID [2022-04-08 04:30:23,572 INFO L290 TraceCheckUtils]: 5: Hoare triple {22341#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; {22341#true} is VALID [2022-04-08 04:30:23,572 INFO L272 TraceCheckUtils]: 6: Hoare triple {22341#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:30:23,572 INFO L290 TraceCheckUtils]: 7: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:30:23,572 INFO L290 TraceCheckUtils]: 8: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:30:23,572 INFO L290 TraceCheckUtils]: 9: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:30:23,572 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22341#true} {22341#true} #63#return; {22341#true} is VALID [2022-04-08 04:30:23,572 INFO L272 TraceCheckUtils]: 11: Hoare triple {22341#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:30:23,572 INFO L290 TraceCheckUtils]: 12: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:30:23,572 INFO L290 TraceCheckUtils]: 13: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:30:23,572 INFO L290 TraceCheckUtils]: 14: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:30:23,572 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22341#true} {22341#true} #65#return; {22341#true} is VALID [2022-04-08 04:30:23,573 INFO L290 TraceCheckUtils]: 16: Hoare triple {22341#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {22394#(and (= main_~r~0 0) (<= 1 main_~p~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-08 04:30:23,573 INFO L290 TraceCheckUtils]: 17: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} assume !false; {22394#(and (= main_~r~0 0) (<= 1 main_~p~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-08 04:30:23,573 INFO L272 TraceCheckUtils]: 18: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~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)); {22341#true} is VALID [2022-04-08 04:30:23,573 INFO L290 TraceCheckUtils]: 19: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:30:23,573 INFO L290 TraceCheckUtils]: 20: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:30:23,573 INFO L290 TraceCheckUtils]: 21: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:30:23,574 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22341#true} {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #67#return; {22394#(and (= main_~r~0 0) (<= 1 main_~p~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-08 04:30:23,574 INFO L272 TraceCheckUtils]: 23: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~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)); {22341#true} is VALID [2022-04-08 04:30:23,574 INFO L290 TraceCheckUtils]: 24: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:30:23,574 INFO L290 TraceCheckUtils]: 25: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:30:23,574 INFO L290 TraceCheckUtils]: 26: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:30:23,575 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {22341#true} {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #69#return; {22394#(and (= main_~r~0 0) (<= 1 main_~p~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-08 04:30:23,575 INFO L272 TraceCheckUtils]: 28: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~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)); {22341#true} is VALID [2022-04-08 04:30:23,575 INFO L290 TraceCheckUtils]: 29: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:30:23,575 INFO L290 TraceCheckUtils]: 30: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:30:23,575 INFO L290 TraceCheckUtils]: 31: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:30:23,575 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {22341#true} {22394#(and (= main_~r~0 0) (<= 1 main_~p~0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0))} #71#return; {22394#(and (= main_~r~0 0) (<= 1 main_~p~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-08 04:30:23,576 INFO L290 TraceCheckUtils]: 33: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~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); {22394#(and (= main_~r~0 0) (<= 1 main_~p~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-08 04:30:23,577 INFO L290 TraceCheckUtils]: 34: Hoare triple {22394#(and (= main_~r~0 0) (<= 1 main_~p~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; {22449#(and (< 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_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-08 04:30:23,578 INFO L290 TraceCheckUtils]: 35: Hoare triple {22449#(and (< 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_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !false; {22449#(and (< 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_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-08 04:30:23,578 INFO L272 TraceCheckUtils]: 36: Hoare triple {22449#(and (< 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_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:30:23,578 INFO L290 TraceCheckUtils]: 37: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:30:23,578 INFO L290 TraceCheckUtils]: 38: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:30:23,578 INFO L290 TraceCheckUtils]: 39: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:30:23,578 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {22341#true} {22449#(and (< 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_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} #67#return; {22449#(and (< 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_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-08 04:30:23,578 INFO L272 TraceCheckUtils]: 41: Hoare triple {22449#(and (< 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_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:30:23,579 INFO L290 TraceCheckUtils]: 42: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:30:23,579 INFO L290 TraceCheckUtils]: 43: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:30:23,579 INFO L290 TraceCheckUtils]: 44: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:30:23,579 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {22341#true} {22449#(and (< 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_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} #69#return; {22449#(and (< 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_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-08 04:30:23,579 INFO L272 TraceCheckUtils]: 46: Hoare triple {22449#(and (< 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_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:30:23,580 INFO L290 TraceCheckUtils]: 47: Hoare triple {22341#true} ~cond := #in~cond; {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:30:23,580 INFO L290 TraceCheckUtils]: 48: Hoare triple {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:30:23,580 INFO L290 TraceCheckUtils]: 49: Hoare triple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:30:23,581 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} {22449#(and (< 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_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} #71#return; {22449#(and (< 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_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-08 04:30:23,581 INFO L290 TraceCheckUtils]: 51: Hoare triple {22449#(and (< 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_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} assume !!(~a~0 != ~b~0); {22449#(and (< 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_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 main_~p~0)))} is VALID [2022-04-08 04:30:23,583 INFO L290 TraceCheckUtils]: 52: Hoare triple {22449#(and (< 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_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0) (<= 1 (+ main_~q~0 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; {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 04:30:23,583 INFO L290 TraceCheckUtils]: 53: Hoare triple {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} assume !false; {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 04:30:23,583 INFO L272 TraceCheckUtils]: 54: Hoare triple {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:30:23,583 INFO L290 TraceCheckUtils]: 55: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:30:23,583 INFO L290 TraceCheckUtils]: 56: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:30:23,583 INFO L290 TraceCheckUtils]: 57: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:30:23,584 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {22341#true} {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} #67#return; {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 04:30:23,584 INFO L272 TraceCheckUtils]: 59: Hoare triple {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:30:23,584 INFO L290 TraceCheckUtils]: 60: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:30:23,584 INFO L290 TraceCheckUtils]: 61: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:30:23,584 INFO L290 TraceCheckUtils]: 62: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:30:23,585 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {22341#true} {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} #69#return; {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 04:30:23,585 INFO L272 TraceCheckUtils]: 64: Hoare triple {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:30:23,585 INFO L290 TraceCheckUtils]: 65: Hoare triple {22341#true} ~cond := #in~cond; {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:30:23,586 INFO L290 TraceCheckUtils]: 66: Hoare triple {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:30:23,586 INFO L290 TraceCheckUtils]: 67: Hoare triple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:30:23,587 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} {22506#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} #71#return; {22555#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 04:30:23,587 INFO L290 TraceCheckUtils]: 69: Hoare triple {22555#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~q~0 main_~p~0) 0))} assume !!(~a~0 != ~b~0); {22559#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (not (= main_~b~0 main_~a~0)) (= (+ main_~q~0 main_~p~0) 0))} is VALID [2022-04-08 04:30:23,590 INFO L290 TraceCheckUtils]: 70: Hoare triple {22559#(and (= (+ main_~x~0 (* (- 1) main_~y~0)) main_~a~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ (* (- 1) main_~r~0) 1) main_~s~0) (< main_~y~0 main_~x~0) (<= 1 (+ (* main_~p~0 2) main_~q~0)) (= (- 1) main_~r~0) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (not (= main_~b~0 main_~a~0)) (= (+ main_~q~0 main_~p~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; {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-08 04:30:23,591 INFO L290 TraceCheckUtils]: 71: Hoare triple {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} assume !false; {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-08 04:30:23,591 INFO L272 TraceCheckUtils]: 72: Hoare triple {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:30:23,591 INFO L290 TraceCheckUtils]: 73: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:30:23,591 INFO L290 TraceCheckUtils]: 74: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:30:23,591 INFO L290 TraceCheckUtils]: 75: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:30:23,592 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {22341#true} {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} #67#return; {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} is VALID [2022-04-08 04:30:23,592 INFO L272 TraceCheckUtils]: 77: Hoare triple {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:30:23,592 INFO L290 TraceCheckUtils]: 78: Hoare triple {22341#true} ~cond := #in~cond; {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:30:23,592 INFO L290 TraceCheckUtils]: 79: Hoare triple {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:30:23,592 INFO L290 TraceCheckUtils]: 80: Hoare triple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:30:23,595 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} {22563#(and (= (+ main_~b~0 main_~a~0 (* main_~p~0 main_~x~0)) (+ (* main_~y~0 main_~r~0) (* main_~y~0 main_~s~0))) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ (* main_~a~0 2) main_~b~0) main_~y~0) (= (+ main_~s~0 (* main_~r~0 2)) 1) (= (+ main_~r~0 1) 0) (< main_~y~0 main_~x~0) (not (= main_~b~0 0)) (<= 0 main_~b~0) (= (+ (* main_~p~0 2) main_~q~0) 0))} #69#return; {22597#(and (= (* 2 (* main_~y~0 main_~s~0)) (+ main_~b~0 (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) 2))) (* main_~y~0 3))) (< main_~y~0 main_~x~0) (= (+ main_~b~0 main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) 2))) (* main_~y~0 main_~s~0)) (not (= main_~b~0 0)) (= (mod main_~q~0 2) 0) (<= 0 main_~b~0) (= (* main_~y~0 main_~s~0) (+ main_~b~0 (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) 2))))))} is VALID [2022-04-08 04:30:23,599 INFO L272 TraceCheckUtils]: 82: Hoare triple {22597#(and (= (* 2 (* main_~y~0 main_~s~0)) (+ main_~b~0 (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) 2))) (* main_~y~0 3))) (< main_~y~0 main_~x~0) (= (+ main_~b~0 main_~x~0 (* main_~x~0 (div (* (- 1) main_~q~0) 2))) (* main_~y~0 main_~s~0)) (not (= main_~b~0 0)) (= (mod main_~q~0 2) 0) (<= 0 main_~b~0) (= (* main_~y~0 main_~s~0) (+ main_~b~0 (* 2 (* main_~x~0 (div (* (- 1) main_~q~0) 2))))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22601#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:30:23,599 INFO L290 TraceCheckUtils]: 83: Hoare triple {22601#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22605#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:30:23,600 INFO L290 TraceCheckUtils]: 84: Hoare triple {22605#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22342#false} is VALID [2022-04-08 04:30:23,600 INFO L290 TraceCheckUtils]: 85: Hoare triple {22342#false} assume !false; {22342#false} is VALID [2022-04-08 04:30:23,600 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 79 proven. 45 refuted. 0 times theorem prover too weak. 152 trivial. 0 not checked. [2022-04-08 04:30:23,600 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:31:19,199 INFO L290 TraceCheckUtils]: 85: Hoare triple {22342#false} assume !false; {22342#false} is VALID [2022-04-08 04:31:19,200 INFO L290 TraceCheckUtils]: 84: Hoare triple {22605#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22342#false} is VALID [2022-04-08 04:31:19,200 INFO L290 TraceCheckUtils]: 83: Hoare triple {22601#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22605#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:31:19,201 INFO L272 TraceCheckUtils]: 82: Hoare triple {22621#(= 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)); {22601#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:31:19,201 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} {22625#(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)))))} #69#return; {22621#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:31:19,201 INFO L290 TraceCheckUtils]: 80: Hoare triple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:31:19,202 INFO L290 TraceCheckUtils]: 79: Hoare triple {22635#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:31:19,202 INFO L290 TraceCheckUtils]: 78: Hoare triple {22341#true} ~cond := #in~cond; {22635#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:31:19,202 INFO L272 TraceCheckUtils]: 77: Hoare triple {22625#(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)); {22341#true} is VALID [2022-04-08 04:31:19,203 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {22341#true} {22625#(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)))))} #67#return; {22625#(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-08 04:31:19,203 INFO L290 TraceCheckUtils]: 75: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:31:19,203 INFO L290 TraceCheckUtils]: 74: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:31:19,203 INFO L290 TraceCheckUtils]: 73: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:31:19,203 INFO L272 TraceCheckUtils]: 72: Hoare triple {22625#(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)); {22341#true} is VALID [2022-04-08 04:31:19,203 INFO L290 TraceCheckUtils]: 71: Hoare triple {22625#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {22625#(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-08 04:31:21,205 WARN L290 TraceCheckUtils]: 70: Hoare triple {22660#(or (< main_~b~0 main_~a~0) (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 !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {22625#(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 UNKNOWN [2022-04-08 04:31:21,206 INFO L290 TraceCheckUtils]: 69: Hoare triple {22664#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (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 !!(~a~0 != ~b~0); {22660#(or (< main_~b~0 main_~a~0) (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-08 04:31:21,207 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} {22341#true} #71#return; {22664#(or (< main_~b~0 main_~a~0) (= main_~b~0 main_~a~0) (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-08 04:31:21,208 INFO L290 TraceCheckUtils]: 67: Hoare triple {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:31:21,208 INFO L290 TraceCheckUtils]: 66: Hoare triple {22635#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {22493#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:31:21,208 INFO L290 TraceCheckUtils]: 65: Hoare triple {22341#true} ~cond := #in~cond; {22635#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:31:21,209 INFO L272 TraceCheckUtils]: 64: Hoare triple {22341#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:31:21,209 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {22341#true} {22341#true} #69#return; {22341#true} is VALID [2022-04-08 04:31:21,209 INFO L290 TraceCheckUtils]: 62: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:31:21,209 INFO L290 TraceCheckUtils]: 61: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:31:21,209 INFO L290 TraceCheckUtils]: 60: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:31:21,209 INFO L272 TraceCheckUtils]: 59: Hoare triple {22341#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:31:21,209 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {22341#true} {22341#true} #67#return; {22341#true} is VALID [2022-04-08 04:31:21,209 INFO L290 TraceCheckUtils]: 57: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:31:21,209 INFO L290 TraceCheckUtils]: 56: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:31:21,209 INFO L290 TraceCheckUtils]: 55: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:31:21,209 INFO L272 TraceCheckUtils]: 54: Hoare triple {22341#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:31:21,209 INFO L290 TraceCheckUtils]: 53: Hoare triple {22341#true} assume !false; {22341#true} is VALID [2022-04-08 04:31:21,209 INFO L290 TraceCheckUtils]: 52: Hoare triple {22341#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {22341#true} is VALID [2022-04-08 04:31:21,210 INFO L290 TraceCheckUtils]: 51: Hoare triple {22341#true} assume !!(~a~0 != ~b~0); {22341#true} is VALID [2022-04-08 04:31:21,210 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {22341#true} {22341#true} #71#return; {22341#true} is VALID [2022-04-08 04:31:21,210 INFO L290 TraceCheckUtils]: 49: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:31:21,210 INFO L290 TraceCheckUtils]: 48: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:31:21,210 INFO L290 TraceCheckUtils]: 47: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:31:21,210 INFO L272 TraceCheckUtils]: 46: Hoare triple {22341#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:31:21,210 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {22341#true} {22341#true} #69#return; {22341#true} is VALID [2022-04-08 04:31:21,210 INFO L290 TraceCheckUtils]: 44: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:31:21,210 INFO L290 TraceCheckUtils]: 43: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:31:21,210 INFO L290 TraceCheckUtils]: 42: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:31:21,210 INFO L272 TraceCheckUtils]: 41: Hoare triple {22341#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:31:21,210 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {22341#true} {22341#true} #67#return; {22341#true} is VALID [2022-04-08 04:31:21,210 INFO L290 TraceCheckUtils]: 39: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:31:21,210 INFO L290 TraceCheckUtils]: 38: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:31:21,211 INFO L290 TraceCheckUtils]: 37: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:31:21,211 INFO L272 TraceCheckUtils]: 36: Hoare triple {22341#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:31:21,211 INFO L290 TraceCheckUtils]: 35: Hoare triple {22341#true} assume !false; {22341#true} is VALID [2022-04-08 04:31:21,211 INFO L290 TraceCheckUtils]: 34: Hoare triple {22341#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {22341#true} is VALID [2022-04-08 04:31:21,211 INFO L290 TraceCheckUtils]: 33: Hoare triple {22341#true} assume !!(~a~0 != ~b~0); {22341#true} is VALID [2022-04-08 04:31:21,211 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {22341#true} {22341#true} #71#return; {22341#true} is VALID [2022-04-08 04:31:21,211 INFO L290 TraceCheckUtils]: 31: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:31:21,211 INFO L290 TraceCheckUtils]: 30: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:31:21,211 INFO L290 TraceCheckUtils]: 29: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:31:21,211 INFO L272 TraceCheckUtils]: 28: Hoare triple {22341#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:31:21,211 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {22341#true} {22341#true} #69#return; {22341#true} is VALID [2022-04-08 04:31:21,211 INFO L290 TraceCheckUtils]: 26: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:31:21,211 INFO L290 TraceCheckUtils]: 25: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:31:21,212 INFO L290 TraceCheckUtils]: 24: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:31:21,212 INFO L272 TraceCheckUtils]: 23: Hoare triple {22341#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:31:21,212 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22341#true} {22341#true} #67#return; {22341#true} is VALID [2022-04-08 04:31:21,212 INFO L290 TraceCheckUtils]: 21: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:31:21,212 INFO L290 TraceCheckUtils]: 20: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:31:21,212 INFO L290 TraceCheckUtils]: 19: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:31:21,212 INFO L272 TraceCheckUtils]: 18: Hoare triple {22341#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:31:21,212 INFO L290 TraceCheckUtils]: 17: Hoare triple {22341#true} assume !false; {22341#true} is VALID [2022-04-08 04:31:21,212 INFO L290 TraceCheckUtils]: 16: Hoare triple {22341#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {22341#true} is VALID [2022-04-08 04:31:21,212 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22341#true} {22341#true} #65#return; {22341#true} is VALID [2022-04-08 04:31:21,212 INFO L290 TraceCheckUtils]: 14: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:31:21,212 INFO L290 TraceCheckUtils]: 13: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:31:21,212 INFO L290 TraceCheckUtils]: 12: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:31:21,213 INFO L272 TraceCheckUtils]: 11: Hoare triple {22341#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:31:21,213 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22341#true} {22341#true} #63#return; {22341#true} is VALID [2022-04-08 04:31:21,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:31:21,213 INFO L290 TraceCheckUtils]: 8: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-08 04:31:21,213 INFO L290 TraceCheckUtils]: 7: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-08 04:31:21,213 INFO L272 TraceCheckUtils]: 6: Hoare triple {22341#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {22341#true} is VALID [2022-04-08 04:31:21,213 INFO L290 TraceCheckUtils]: 5: Hoare triple {22341#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; {22341#true} is VALID [2022-04-08 04:31:21,213 INFO L272 TraceCheckUtils]: 4: Hoare triple {22341#true} call #t~ret6 := main(); {22341#true} is VALID [2022-04-08 04:31:21,213 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22341#true} {22341#true} #81#return; {22341#true} is VALID [2022-04-08 04:31:21,213 INFO L290 TraceCheckUtils]: 2: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-08 04:31:21,213 INFO L290 TraceCheckUtils]: 1: Hoare triple {22341#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); {22341#true} is VALID [2022-04-08 04:31:21,213 INFO L272 TraceCheckUtils]: 0: Hoare triple {22341#true} call ULTIMATE.init(); {22341#true} is VALID [2022-04-08 04:31:21,214 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 87 proven. 5 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-08 04:31:21,214 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:31:21,214 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1595947667] [2022-04-08 04:31:21,214 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:31:21,214 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [73264522] [2022-04-08 04:31:21,214 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [73264522] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:31:21,214 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:31:21,214 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-08 04:31:21,215 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:31:21,215 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2089029087] [2022-04-08 04:31:21,215 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2089029087] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:31:21,215 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:31:21,215 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 04:31:21,215 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1392772742] [2022-04-08 04:31:21,215 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:31:21,216 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-08 04:31:21,216 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:31:21,216 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 04:31:21,287 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:31:21,287 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 04:31:21,287 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:31:21,287 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 04:31:21,288 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=232, Unknown=0, NotChecked=0, Total=306 [2022-04-08 04:31:21,288 INFO L87 Difference]: Start difference. First operand 236 states and 278 transitions. Second operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 04:31:28,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:28,663 INFO L93 Difference]: Finished difference Result 282 states and 338 transitions. [2022-04-08 04:31:28,663 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-08 04:31:28,663 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) Word has length 86 [2022-04-08 04:31:28,664 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:31:28,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 04:31:28,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 108 transitions. [2022-04-08 04:31:28,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 04:31:28,666 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 108 transitions. [2022-04-08 04:31:28,666 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 108 transitions. [2022-04-08 04:31:28,818 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 108 edges. 108 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:31:28,823 INFO L225 Difference]: With dead ends: 282 [2022-04-08 04:31:28,823 INFO L226 Difference]: Without dead ends: 272 [2022-04-08 04:31:28,824 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 153 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=87, Invalid=293, Unknown=0, NotChecked=0, Total=380 [2022-04-08 04:31:28,825 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 20 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 569 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 203 SdHoareTripleChecker+Invalid, 589 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 569 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.5s IncrementalHoareTripleChecker+Time [2022-04-08 04:31:28,825 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [32 Valid, 203 Invalid, 589 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 569 Invalid, 0 Unknown, 0 Unchecked, 3.5s Time] [2022-04-08 04:31:28,829 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 272 states. [2022-04-08 04:31:29,105 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 272 to 254. [2022-04-08 04:31:29,106 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:31:29,106 INFO L82 GeneralOperation]: Start isEquivalent. First operand 272 states. Second operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-08 04:31:29,106 INFO L74 IsIncluded]: Start isIncluded. First operand 272 states. Second operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-08 04:31:29,107 INFO L87 Difference]: Start difference. First operand 272 states. Second operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-08 04:31:29,111 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:29,111 INFO L93 Difference]: Finished difference Result 272 states and 320 transitions. [2022-04-08 04:31:29,111 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 320 transitions. [2022-04-08 04:31:29,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:31:29,111 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:31:29,112 INFO L74 IsIncluded]: Start isIncluded. First operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) Second operand 272 states. [2022-04-08 04:31:29,112 INFO L87 Difference]: Start difference. First operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) Second operand 272 states. [2022-04-08 04:31:29,116 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:31:29,116 INFO L93 Difference]: Finished difference Result 272 states and 320 transitions. [2022-04-08 04:31:29,116 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 320 transitions. [2022-04-08 04:31:29,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:31:29,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:31:29,116 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:31:29,117 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:31:29,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 254 states, 155 states have (on average 1.1161290322580646) internal successors, (173), 161 states have internal predecessors, (173), 63 states have call successors, (63), 36 states have call predecessors, (63), 35 states have return successors, (61), 56 states have call predecessors, (61), 61 states have call successors, (61) [2022-04-08 04:31:29,121 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 254 states to 254 states and 297 transitions. [2022-04-08 04:31:29,121 INFO L78 Accepts]: Start accepts. Automaton has 254 states and 297 transitions. Word has length 86 [2022-04-08 04:31:29,121 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:31:29,121 INFO L478 AbstractCegarLoop]: Abstraction has 254 states and 297 transitions. [2022-04-08 04:31:29,121 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.1666666666666665) internal successors, (26), 10 states have internal predecessors, (26), 6 states have call successors, (16), 2 states have call predecessors, (16), 2 states have return successors, (14), 7 states have call predecessors, (14), 5 states have call successors, (14) [2022-04-08 04:31:29,122 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 254 states and 297 transitions. [2022-04-08 04:31:30,237 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 297 edges. 297 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:31:30,237 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 297 transitions. [2022-04-08 04:31:30,238 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-08 04:31:30,238 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:31:30,238 INFO L499 BasicCegarLoop]: trace histogram [12, 11, 11, 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-08 04:31:30,262 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-08 04:31:30,443 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:31:30,444 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:31:30,444 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:31:30,444 INFO L85 PathProgramCache]: Analyzing trace with hash 1866224690, now seen corresponding path program 17 times [2022-04-08 04:31:30,444 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:31:30,444 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1645499468] [2022-04-08 04:31:30,444 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:31:30,445 INFO L85 PathProgramCache]: Analyzing trace with hash 1866224690, now seen corresponding path program 18 times [2022-04-08 04:31:30,445 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:31:30,445 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [180214663] [2022-04-08 04:31:30,445 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:31:30,445 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:31:30,453 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:31:30,454 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [781473897] [2022-04-08 04:31:30,454 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:31:30,454 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:31:30,454 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:31:30,454 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:31:30,455 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-08 04:31:30,503 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 04:31:30,503 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:31:30,504 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-08 04:31:30,587 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:31:30,590 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:32:21,389 INFO L272 TraceCheckUtils]: 0: Hoare triple {24494#true} call ULTIMATE.init(); {24494#true} is VALID [2022-04-08 04:32:21,389 INFO L290 TraceCheckUtils]: 1: Hoare triple {24494#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); {24494#true} is VALID [2022-04-08 04:32:21,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:32:21,389 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24494#true} {24494#true} #81#return; {24494#true} is VALID [2022-04-08 04:32:21,389 INFO L272 TraceCheckUtils]: 4: Hoare triple {24494#true} call #t~ret6 := main(); {24494#true} is VALID [2022-04-08 04:32:21,389 INFO L290 TraceCheckUtils]: 5: Hoare triple {24494#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; {24494#true} is VALID [2022-04-08 04:32:21,389 INFO L272 TraceCheckUtils]: 6: Hoare triple {24494#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {24494#true} is VALID [2022-04-08 04:32:21,389 INFO L290 TraceCheckUtils]: 7: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:32:21,389 INFO L290 TraceCheckUtils]: 8: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:32:21,389 INFO L290 TraceCheckUtils]: 9: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:32:21,389 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24494#true} {24494#true} #63#return; {24494#true} is VALID [2022-04-08 04:32:21,389 INFO L272 TraceCheckUtils]: 11: Hoare triple {24494#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {24494#true} is VALID [2022-04-08 04:32:21,390 INFO L290 TraceCheckUtils]: 12: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:32:21,390 INFO L290 TraceCheckUtils]: 13: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:32:21,390 INFO L290 TraceCheckUtils]: 14: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:32:21,390 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {24494#true} {24494#true} #65#return; {24494#true} is VALID [2022-04-08 04:32:21,390 INFO L290 TraceCheckUtils]: 16: Hoare triple {24494#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:21,390 INFO L290 TraceCheckUtils]: 17: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:21,390 INFO L272 TraceCheckUtils]: 18: Hoare triple {24547#(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)); {24494#true} is VALID [2022-04-08 04:32:21,390 INFO L290 TraceCheckUtils]: 19: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:32:21,391 INFO L290 TraceCheckUtils]: 20: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:32:21,391 INFO L290 TraceCheckUtils]: 21: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:32:21,391 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:21,391 INFO L272 TraceCheckUtils]: 23: Hoare triple {24547#(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)); {24494#true} is VALID [2022-04-08 04:32:21,391 INFO L290 TraceCheckUtils]: 24: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:32:21,391 INFO L290 TraceCheckUtils]: 25: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:32:21,391 INFO L290 TraceCheckUtils]: 26: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:32:21,392 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:21,392 INFO L272 TraceCheckUtils]: 28: Hoare triple {24547#(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)); {24494#true} is VALID [2022-04-08 04:32:21,392 INFO L290 TraceCheckUtils]: 29: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:32:21,392 INFO L290 TraceCheckUtils]: 30: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:32:21,392 INFO L290 TraceCheckUtils]: 31: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:32:21,392 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:21,393 INFO L290 TraceCheckUtils]: 33: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:21,393 INFO L290 TraceCheckUtils]: 34: Hoare triple {24547#(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; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:21,393 INFO L290 TraceCheckUtils]: 35: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:21,394 INFO L272 TraceCheckUtils]: 36: Hoare triple {24547#(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)); {24494#true} is VALID [2022-04-08 04:32:21,394 INFO L290 TraceCheckUtils]: 37: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:32:21,394 INFO L290 TraceCheckUtils]: 38: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:32:21,394 INFO L290 TraceCheckUtils]: 39: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:32:21,394 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:21,394 INFO L272 TraceCheckUtils]: 41: Hoare triple {24547#(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)); {24494#true} is VALID [2022-04-08 04:32:21,394 INFO L290 TraceCheckUtils]: 42: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:32:21,394 INFO L290 TraceCheckUtils]: 43: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:32:21,394 INFO L290 TraceCheckUtils]: 44: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:32:21,395 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:21,395 INFO L272 TraceCheckUtils]: 46: Hoare triple {24547#(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)); {24494#true} is VALID [2022-04-08 04:32:21,395 INFO L290 TraceCheckUtils]: 47: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:32:21,395 INFO L290 TraceCheckUtils]: 48: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:32:21,395 INFO L290 TraceCheckUtils]: 49: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:32:21,396 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {24494#true} {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:21,396 INFO L290 TraceCheckUtils]: 51: Hoare triple {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {24547#(and (= main_~r~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:32:21,397 INFO L290 TraceCheckUtils]: 52: Hoare triple {24547#(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; {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:32:21,397 INFO L290 TraceCheckUtils]: 53: Hoare triple {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !false; {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:32:21,397 INFO L272 TraceCheckUtils]: 54: Hoare triple {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~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)); {24494#true} is VALID [2022-04-08 04:32:21,397 INFO L290 TraceCheckUtils]: 55: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:32:21,397 INFO L290 TraceCheckUtils]: 56: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:32:21,397 INFO L290 TraceCheckUtils]: 57: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:32:21,398 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {24494#true} {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #67#return; {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:32:21,398 INFO L272 TraceCheckUtils]: 59: Hoare triple {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~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)); {24494#true} is VALID [2022-04-08 04:32:21,398 INFO L290 TraceCheckUtils]: 60: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:32:21,398 INFO L290 TraceCheckUtils]: 61: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:32:21,398 INFO L290 TraceCheckUtils]: 62: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:32:21,399 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {24494#true} {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #69#return; {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:32:21,399 INFO L272 TraceCheckUtils]: 64: Hoare triple {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~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)); {24494#true} is VALID [2022-04-08 04:32:21,399 INFO L290 TraceCheckUtils]: 65: Hoare triple {24494#true} ~cond := #in~cond; {24696#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:32:21,400 INFO L290 TraceCheckUtils]: 66: Hoare triple {24696#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:32:21,400 INFO L290 TraceCheckUtils]: 67: Hoare triple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:32:21,401 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} {24656#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} #71#return; {24707#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:32:21,401 INFO L290 TraceCheckUtils]: 69: Hoare triple {24707#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {24707#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~x~0 (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:32:21,433 INFO L290 TraceCheckUtils]: 70: Hoare triple {24707#(and (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (= (+ main_~q~0 main_~p~0) 1) (= main_~r~0 (* (- 1) main_~s~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; {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-08 04:32:21,434 INFO L290 TraceCheckUtils]: 71: Hoare triple {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} assume !false; {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-08 04:32:21,434 INFO L272 TraceCheckUtils]: 72: Hoare triple {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= 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)); {24494#true} is VALID [2022-04-08 04:32:21,434 INFO L290 TraceCheckUtils]: 73: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:32:21,434 INFO L290 TraceCheckUtils]: 74: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:32:21,434 INFO L290 TraceCheckUtils]: 75: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:32:21,435 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {24494#true} {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #67#return; {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} is VALID [2022-04-08 04:32:21,435 INFO L272 TraceCheckUtils]: 77: Hoare triple {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= 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)); {24494#true} is VALID [2022-04-08 04:32:21,435 INFO L290 TraceCheckUtils]: 78: Hoare triple {24494#true} ~cond := #in~cond; {24696#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:32:21,435 INFO L290 TraceCheckUtils]: 79: Hoare triple {24696#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:32:21,436 INFO L290 TraceCheckUtils]: 80: Hoare triple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:32:23,439 WARN L284 TraceCheckUtils]: 81: Hoare quadruple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} {24714#(and (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* (+ main_~s~0 main_~r~0) main_~y~0)) (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= main_~r~0 (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))))} #69#return; {24748#(and (= (+ main_~b~0 (* 2 (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) main_~x~0 (* 2 (* (div (* (- 1) main_~s~0) 2) main_~y~0)))) (= (mod main_~s~0 2) 0) (= (mod (+ main_~q~0 1) 2) 0))} is UNKNOWN [2022-04-08 04:32:24,079 INFO L272 TraceCheckUtils]: 82: Hoare triple {24748#(and (= (+ main_~b~0 (* 2 (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0))) (+ (* 2 (* main_~y~0 main_~s~0)) main_~x~0 (* 2 (* (div (* (- 1) main_~s~0) 2) main_~y~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)); {24752#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:32:24,080 INFO L290 TraceCheckUtils]: 83: Hoare triple {24752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:32:24,080 INFO L290 TraceCheckUtils]: 84: Hoare triple {24756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {24495#false} is VALID [2022-04-08 04:32:24,080 INFO L290 TraceCheckUtils]: 85: Hoare triple {24495#false} assume !false; {24495#false} is VALID [2022-04-08 04:32:24,080 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 71 proven. 29 refuted. 0 times theorem prover too weak. 176 trivial. 0 not checked. [2022-04-08 04:32:24,081 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:33:01,176 INFO L290 TraceCheckUtils]: 85: Hoare triple {24495#false} assume !false; {24495#false} is VALID [2022-04-08 04:33:01,177 INFO L290 TraceCheckUtils]: 84: Hoare triple {24756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {24495#false} is VALID [2022-04-08 04:33:01,177 INFO L290 TraceCheckUtils]: 83: Hoare triple {24752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:01,178 INFO L272 TraceCheckUtils]: 82: Hoare triple {24772#(= 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)); {24752#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:33:01,178 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} {24776#(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)))))} #69#return; {24772#(= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))} is VALID [2022-04-08 04:33:01,179 INFO L290 TraceCheckUtils]: 80: Hoare triple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:01,179 INFO L290 TraceCheckUtils]: 79: Hoare triple {24786#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:01,179 INFO L290 TraceCheckUtils]: 78: Hoare triple {24494#true} ~cond := #in~cond; {24786#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:33:01,179 INFO L272 TraceCheckUtils]: 77: Hoare triple {24776#(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)); {24494#true} is VALID [2022-04-08 04:33:01,180 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {24494#true} {24776#(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)))))} #67#return; {24776#(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-08 04:33:01,180 INFO L290 TraceCheckUtils]: 75: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:33:01,180 INFO L290 TraceCheckUtils]: 74: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:33:01,180 INFO L290 TraceCheckUtils]: 73: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:33:01,180 INFO L272 TraceCheckUtils]: 72: Hoare triple {24776#(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)); {24494#true} is VALID [2022-04-08 04:33:01,181 INFO L290 TraceCheckUtils]: 71: Hoare triple {24776#(or (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} assume !false; {24776#(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-08 04:33:02,732 INFO L290 TraceCheckUtils]: 70: Hoare triple {24776#(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; {24776#(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-08 04:33:02,733 INFO L290 TraceCheckUtils]: 69: Hoare triple {24776#(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); {24776#(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-08 04:33:02,733 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} {24494#true} #71#return; {24776#(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-08 04:33:02,734 INFO L290 TraceCheckUtils]: 67: Hoare triple {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:02,734 INFO L290 TraceCheckUtils]: 66: Hoare triple {24786#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {24700#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:02,734 INFO L290 TraceCheckUtils]: 65: Hoare triple {24494#true} ~cond := #in~cond; {24786#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:33:02,734 INFO L272 TraceCheckUtils]: 64: Hoare triple {24494#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24494#true} is VALID [2022-04-08 04:33:02,734 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {24494#true} {24494#true} #69#return; {24494#true} is VALID [2022-04-08 04:33:02,734 INFO L290 TraceCheckUtils]: 62: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:33:02,734 INFO L290 TraceCheckUtils]: 61: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L290 TraceCheckUtils]: 60: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L272 TraceCheckUtils]: 59: Hoare triple {24494#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {24494#true} {24494#true} #67#return; {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L290 TraceCheckUtils]: 57: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L290 TraceCheckUtils]: 56: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L290 TraceCheckUtils]: 55: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L272 TraceCheckUtils]: 54: Hoare triple {24494#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L290 TraceCheckUtils]: 53: Hoare triple {24494#true} assume !false; {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L290 TraceCheckUtils]: 52: Hoare triple {24494#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L290 TraceCheckUtils]: 51: Hoare triple {24494#true} assume !!(~a~0 != ~b~0); {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {24494#true} {24494#true} #71#return; {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L290 TraceCheckUtils]: 49: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L290 TraceCheckUtils]: 48: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L290 TraceCheckUtils]: 47: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L272 TraceCheckUtils]: 46: Hoare triple {24494#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {24494#true} {24494#true} #69#return; {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L290 TraceCheckUtils]: 44: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:33:02,735 INFO L290 TraceCheckUtils]: 43: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L290 TraceCheckUtils]: 42: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L272 TraceCheckUtils]: 41: Hoare triple {24494#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {24494#true} {24494#true} #67#return; {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L290 TraceCheckUtils]: 39: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L290 TraceCheckUtils]: 38: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L290 TraceCheckUtils]: 37: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L272 TraceCheckUtils]: 36: Hoare triple {24494#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L290 TraceCheckUtils]: 35: Hoare triple {24494#true} assume !false; {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L290 TraceCheckUtils]: 34: Hoare triple {24494#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L290 TraceCheckUtils]: 33: Hoare triple {24494#true} assume !!(~a~0 != ~b~0); {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {24494#true} {24494#true} #71#return; {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L290 TraceCheckUtils]: 31: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L290 TraceCheckUtils]: 30: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L290 TraceCheckUtils]: 29: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L272 TraceCheckUtils]: 28: Hoare triple {24494#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {24494#true} {24494#true} #69#return; {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L290 TraceCheckUtils]: 26: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L290 TraceCheckUtils]: 25: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:33:02,736 INFO L290 TraceCheckUtils]: 24: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L272 TraceCheckUtils]: 23: Hoare triple {24494#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {24494#true} {24494#true} #67#return; {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L290 TraceCheckUtils]: 21: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L290 TraceCheckUtils]: 20: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L290 TraceCheckUtils]: 19: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L272 TraceCheckUtils]: 18: Hoare triple {24494#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L290 TraceCheckUtils]: 17: Hoare triple {24494#true} assume !false; {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L290 TraceCheckUtils]: 16: Hoare triple {24494#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {24494#true} {24494#true} #65#return; {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L290 TraceCheckUtils]: 14: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L290 TraceCheckUtils]: 13: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L290 TraceCheckUtils]: 12: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L272 TraceCheckUtils]: 11: Hoare triple {24494#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24494#true} {24494#true} #63#return; {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L290 TraceCheckUtils]: 9: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L290 TraceCheckUtils]: 8: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L290 TraceCheckUtils]: 7: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-08 04:33:02,737 INFO L272 TraceCheckUtils]: 6: Hoare triple {24494#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {24494#true} is VALID [2022-04-08 04:33:02,742 INFO L290 TraceCheckUtils]: 5: Hoare triple {24494#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; {24494#true} is VALID [2022-04-08 04:33:02,742 INFO L272 TraceCheckUtils]: 4: Hoare triple {24494#true} call #t~ret6 := main(); {24494#true} is VALID [2022-04-08 04:33:02,742 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24494#true} {24494#true} #81#return; {24494#true} is VALID [2022-04-08 04:33:02,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-08 04:33:02,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {24494#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); {24494#true} is VALID [2022-04-08 04:33:02,743 INFO L272 TraceCheckUtils]: 0: Hoare triple {24494#true} call ULTIMATE.init(); {24494#true} is VALID [2022-04-08 04:33:02,743 INFO L134 CoverageAnalysis]: Checked inductivity of 276 backedges. 87 proven. 5 refuted. 0 times theorem prover too weak. 184 trivial. 0 not checked. [2022-04-08 04:33:02,743 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:33:02,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [180214663] [2022-04-08 04:33:02,743 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:33:02,743 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [781473897] [2022-04-08 04:33:02,743 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [781473897] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:33:02,743 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:33:02,743 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 14 [2022-04-08 04:33:02,744 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:33:02,744 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1645499468] [2022-04-08 04:33:02,744 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1645499468] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:33:02,744 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:33:02,744 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-08 04:33:02,744 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1856301168] [2022-04-08 04:33:02,744 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:33:02,744 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 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 86 [2022-04-08 04:33:02,744 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:33:02,744 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 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-08 04:33:07,158 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 47 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-08 04:33:07,158 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-08 04:33:07,158 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:33:07,159 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-08 04:33:07,159 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=143, Unknown=2, NotChecked=0, Total=182 [2022-04-08 04:33:07,159 INFO L87 Difference]: Start difference. First operand 254 states and 297 transitions. Second operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 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-08 04:33:10,163 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-08 04:33:16,834 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-08 04:33:19,588 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:33:19,588 INFO L93 Difference]: Finished difference Result 277 states and 323 transitions. [2022-04-08 04:33:19,588 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 04:33:19,588 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 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 86 [2022-04-08 04:33:19,588 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:33:19,588 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 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-08 04:33:19,589 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 77 transitions. [2022-04-08 04:33:19,589 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 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-08 04:33:19,590 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 77 transitions. [2022-04-08 04:33:19,590 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 77 transitions. [2022-04-08 04:33:19,853 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:33:19,867 INFO L225 Difference]: With dead ends: 277 [2022-04-08 04:33:19,867 INFO L226 Difference]: Without dead ends: 267 [2022-04-08 04:33:19,868 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 157 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 9.2s TimeCoverageRelationStatistics Valid=50, Invalid=188, Unknown=2, NotChecked=0, Total=240 [2022-04-08 04:33:19,869 INFO L913 BasicCegarLoop]: 39 mSDtfsCounter, 14 mSDsluCounter, 113 mSDsCounter, 0 mSdLazyCounter, 286 mSolverCounterSat, 15 mSolverCounterUnsat, 2 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 152 SdHoareTripleChecker+Invalid, 303 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 286 IncrementalHoareTripleChecker+Invalid, 2 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 5.8s IncrementalHoareTripleChecker+Time [2022-04-08 04:33:19,869 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 152 Invalid, 303 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 286 Invalid, 2 Unknown, 0 Unchecked, 5.8s Time] [2022-04-08 04:33:19,871 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 267 states. [2022-04-08 04:33:20,164 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 267 to 267. [2022-04-08 04:33:20,164 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:33:20,164 INFO L82 GeneralOperation]: Start isEquivalent. First operand 267 states. Second operand has 267 states, 165 states have (on average 1.1151515151515152) internal successors, (184), 170 states have internal predecessors, (184), 64 states have call successors, (64), 38 states have call predecessors, (64), 37 states have return successors, (62), 58 states have call predecessors, (62), 62 states have call successors, (62) [2022-04-08 04:33:20,165 INFO L74 IsIncluded]: Start isIncluded. First operand 267 states. Second operand has 267 states, 165 states have (on average 1.1151515151515152) internal successors, (184), 170 states have internal predecessors, (184), 64 states have call successors, (64), 38 states have call predecessors, (64), 37 states have return successors, (62), 58 states have call predecessors, (62), 62 states have call successors, (62) [2022-04-08 04:33:20,165 INFO L87 Difference]: Start difference. First operand 267 states. Second operand has 267 states, 165 states have (on average 1.1151515151515152) internal successors, (184), 170 states have internal predecessors, (184), 64 states have call successors, (64), 38 states have call predecessors, (64), 37 states have return successors, (62), 58 states have call predecessors, (62), 62 states have call successors, (62) [2022-04-08 04:33:20,170 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:33:20,170 INFO L93 Difference]: Finished difference Result 267 states and 310 transitions. [2022-04-08 04:33:20,170 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 310 transitions. [2022-04-08 04:33:20,171 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:33:20,171 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:33:20,171 INFO L74 IsIncluded]: Start isIncluded. First operand has 267 states, 165 states have (on average 1.1151515151515152) internal successors, (184), 170 states have internal predecessors, (184), 64 states have call successors, (64), 38 states have call predecessors, (64), 37 states have return successors, (62), 58 states have call predecessors, (62), 62 states have call successors, (62) Second operand 267 states. [2022-04-08 04:33:20,171 INFO L87 Difference]: Start difference. First operand has 267 states, 165 states have (on average 1.1151515151515152) internal successors, (184), 170 states have internal predecessors, (184), 64 states have call successors, (64), 38 states have call predecessors, (64), 37 states have return successors, (62), 58 states have call predecessors, (62), 62 states have call successors, (62) Second operand 267 states. [2022-04-08 04:33:20,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:33:20,176 INFO L93 Difference]: Finished difference Result 267 states and 310 transitions. [2022-04-08 04:33:20,176 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 310 transitions. [2022-04-08 04:33:20,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:33:20,177 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:33:20,177 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:33:20,177 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:33:20,177 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 267 states, 165 states have (on average 1.1151515151515152) internal successors, (184), 170 states have internal predecessors, (184), 64 states have call successors, (64), 38 states have call predecessors, (64), 37 states have return successors, (62), 58 states have call predecessors, (62), 62 states have call successors, (62) [2022-04-08 04:33:20,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 267 states to 267 states and 310 transitions. [2022-04-08 04:33:20,183 INFO L78 Accepts]: Start accepts. Automaton has 267 states and 310 transitions. Word has length 86 [2022-04-08 04:33:20,183 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:33:20,183 INFO L478 AbstractCegarLoop]: Abstraction has 267 states and 310 transitions. [2022-04-08 04:33:20,183 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 2.4) internal successors, (24), 9 states have internal predecessors, (24), 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-08 04:33:20,183 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 267 states and 310 transitions. [2022-04-08 04:33:21,432 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 310 edges. 310 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:33:21,432 INFO L276 IsEmpty]: Start isEmpty. Operand 267 states and 310 transitions. [2022-04-08 04:33:21,433 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-08 04:33:21,433 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:33:21,433 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 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-08 04:33:21,449 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Ended with exit code 0 [2022-04-08 04:33:21,635 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-04-08 04:33:21,637 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:33:21,638 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:33:21,638 INFO L85 PathProgramCache]: Analyzing trace with hash 396850335, now seen corresponding path program 9 times [2022-04-08 04:33:21,638 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:33:21,638 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [278816310] [2022-04-08 04:33:21,638 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:33:21,638 INFO L85 PathProgramCache]: Analyzing trace with hash 396850335, now seen corresponding path program 10 times [2022-04-08 04:33:21,638 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:33:21,638 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [938305543] [2022-04-08 04:33:21,638 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:33:21,638 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:33:21,653 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:33:21,653 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1268887080] [2022-04-08 04:33:21,653 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:33:21,653 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:33:21,653 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:33:21,654 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:33:21,655 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-08 04:33:21,702 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:33:21,702 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:33:21,703 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-08 04:33:21,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:33:21,725 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:33:27,367 INFO L272 TraceCheckUtils]: 0: Hoare triple {26649#true} call ULTIMATE.init(); {26649#true} is VALID [2022-04-08 04:33:27,367 INFO L290 TraceCheckUtils]: 1: Hoare triple {26649#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); {26649#true} is VALID [2022-04-08 04:33:27,367 INFO L290 TraceCheckUtils]: 2: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:33:27,367 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26649#true} {26649#true} #81#return; {26649#true} is VALID [2022-04-08 04:33:27,367 INFO L272 TraceCheckUtils]: 4: Hoare triple {26649#true} call #t~ret6 := main(); {26649#true} is VALID [2022-04-08 04:33:27,367 INFO L290 TraceCheckUtils]: 5: Hoare triple {26649#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; {26649#true} is VALID [2022-04-08 04:33:27,367 INFO L272 TraceCheckUtils]: 6: Hoare triple {26649#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:33:27,367 INFO L290 TraceCheckUtils]: 7: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:33:27,367 INFO L290 TraceCheckUtils]: 8: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:33:27,367 INFO L290 TraceCheckUtils]: 9: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:33:27,367 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26649#true} {26649#true} #63#return; {26649#true} is VALID [2022-04-08 04:33:27,367 INFO L272 TraceCheckUtils]: 11: Hoare triple {26649#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:33:27,367 INFO L290 TraceCheckUtils]: 12: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:33:27,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:33:27,368 INFO L290 TraceCheckUtils]: 14: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:33:27,368 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {26649#true} {26649#true} #65#return; {26649#true} is VALID [2022-04-08 04:33:27,368 INFO L290 TraceCheckUtils]: 16: Hoare triple {26649#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {26702#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:33:27,368 INFO L290 TraceCheckUtils]: 17: Hoare triple {26702#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {26702#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:33:27,368 INFO L272 TraceCheckUtils]: 18: Hoare triple {26702#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= 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)); {26649#true} is VALID [2022-04-08 04:33:27,368 INFO L290 TraceCheckUtils]: 19: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:33:27,368 INFO L290 TraceCheckUtils]: 20: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:33:27,369 INFO L290 TraceCheckUtils]: 21: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:33:27,369 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {26649#true} {26702#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #67#return; {26702#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-08 04:33:27,369 INFO L272 TraceCheckUtils]: 23: Hoare triple {26702#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:33:27,369 INFO L290 TraceCheckUtils]: 24: Hoare triple {26649#true} ~cond := #in~cond; {26727#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:27,370 INFO L290 TraceCheckUtils]: 25: Hoare triple {26727#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:27,370 INFO L290 TraceCheckUtils]: 26: Hoare triple {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:27,371 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} {26702#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #69#return; {26738#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} is VALID [2022-04-08 04:33:27,371 INFO L272 TraceCheckUtils]: 28: Hoare triple {26738#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:33:27,371 INFO L290 TraceCheckUtils]: 29: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:33:27,371 INFO L290 TraceCheckUtils]: 30: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:33:27,371 INFO L290 TraceCheckUtils]: 31: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:33:27,371 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {26649#true} {26738#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} #71#return; {26738#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} is VALID [2022-04-08 04:33:27,372 INFO L290 TraceCheckUtils]: 33: Hoare triple {26738#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {26738#(and (= main_~r~0 0) (= 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) (= main_~p~0 1))} is VALID [2022-04-08 04:33:27,374 INFO L290 TraceCheckUtils]: 34: Hoare triple {26738#(and (= main_~r~0 0) (= 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) (= 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; {26760#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:33:27,374 INFO L290 TraceCheckUtils]: 35: Hoare triple {26760#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} assume !false; {26760#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:33:27,374 INFO L272 TraceCheckUtils]: 36: Hoare triple {26760#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~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)); {26649#true} is VALID [2022-04-08 04:33:27,374 INFO L290 TraceCheckUtils]: 37: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:33:27,374 INFO L290 TraceCheckUtils]: 38: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:33:27,374 INFO L290 TraceCheckUtils]: 39: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:33:27,375 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {26649#true} {26760#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #67#return; {26760#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:33:27,375 INFO L272 TraceCheckUtils]: 41: Hoare triple {26760#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~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)); {26649#true} is VALID [2022-04-08 04:33:27,375 INFO L290 TraceCheckUtils]: 42: Hoare triple {26649#true} ~cond := #in~cond; {26727#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:27,375 INFO L290 TraceCheckUtils]: 43: Hoare triple {26727#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:27,376 INFO L290 TraceCheckUtils]: 44: Hoare triple {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:27,376 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} {26760#(and (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #69#return; {26794#(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_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:33:27,376 INFO L272 TraceCheckUtils]: 46: Hoare triple {26794#(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_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~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)); {26649#true} is VALID [2022-04-08 04:33:27,376 INFO L290 TraceCheckUtils]: 47: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:33:27,377 INFO L290 TraceCheckUtils]: 48: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:33:27,377 INFO L290 TraceCheckUtils]: 49: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:33:27,377 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {26649#true} {26794#(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_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} #71#return; {26794#(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_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:33:27,378 INFO L290 TraceCheckUtils]: 51: Hoare triple {26794#(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_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} assume !!(~a~0 != ~b~0); {26794#(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_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~0) main_~x~0)) (+ main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:33:27,380 INFO L290 TraceCheckUtils]: 52: Hoare triple {26794#(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_~b~0 main_~y~0) (= main_~q~0 0) (= (+ (* (+ main_~s~0 main_~r~0) main_~y~0) (* (+ main_~q~0 main_~p~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; {26816#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 04:33:27,381 INFO L290 TraceCheckUtils]: 53: Hoare triple {26816#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !false; {26816#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 04:33:27,381 INFO L272 TraceCheckUtils]: 54: Hoare triple {26816#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:33:27,381 INFO L290 TraceCheckUtils]: 55: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:33:27,381 INFO L290 TraceCheckUtils]: 56: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:33:27,381 INFO L290 TraceCheckUtils]: 57: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:33:27,381 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {26649#true} {26816#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #67#return; {26816#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 04:33:27,382 INFO L272 TraceCheckUtils]: 59: Hoare triple {26816#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:33:27,382 INFO L290 TraceCheckUtils]: 60: Hoare triple {26649#true} ~cond := #in~cond; {26727#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:27,382 INFO L290 TraceCheckUtils]: 61: Hoare triple {26727#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:27,382 INFO L290 TraceCheckUtils]: 62: Hoare triple {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:27,383 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} {26816#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #69#return; {26816#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 04:33:27,383 INFO L272 TraceCheckUtils]: 64: Hoare triple {26816#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:33:27,383 INFO L290 TraceCheckUtils]: 65: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:33:27,383 INFO L290 TraceCheckUtils]: 66: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:33:27,383 INFO L290 TraceCheckUtils]: 67: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:33:27,384 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {26649#true} {26816#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} #71#return; {26816#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 04:33:27,384 INFO L290 TraceCheckUtils]: 69: Hoare triple {26816#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} assume !!(~a~0 != ~b~0); {26816#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~0) 1)))} is VALID [2022-04-08 04:33:27,385 INFO L290 TraceCheckUtils]: 70: Hoare triple {26816#(and (= (* (- 2) main_~s~0) main_~r~0) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= main_~a~0 (+ (* (- 2) main_~b~0) main_~x~0)) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 (+ (* (- 2) main_~q~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; {26871#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:33:27,385 INFO L290 TraceCheckUtils]: 71: Hoare triple {26871#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !false; {26871#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:33:27,386 INFO L272 TraceCheckUtils]: 72: Hoare triple {26871#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= 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)); {26649#true} is VALID [2022-04-08 04:33:27,386 INFO L290 TraceCheckUtils]: 73: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:33:27,386 INFO L290 TraceCheckUtils]: 74: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:33:27,386 INFO L290 TraceCheckUtils]: 75: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:33:27,386 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {26649#true} {26871#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #67#return; {26871#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:33:27,386 INFO L272 TraceCheckUtils]: 77: Hoare triple {26871#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= 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)); {26649#true} is VALID [2022-04-08 04:33:27,387 INFO L290 TraceCheckUtils]: 78: Hoare triple {26649#true} ~cond := #in~cond; {26727#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:27,387 INFO L290 TraceCheckUtils]: 79: Hoare triple {26727#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:27,387 INFO L290 TraceCheckUtils]: 80: Hoare triple {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:33:27,388 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} {26871#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #69#return; {26871#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:33:27,388 INFO L272 TraceCheckUtils]: 82: Hoare triple {26871#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= 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)); {26649#true} is VALID [2022-04-08 04:33:27,388 INFO L290 TraceCheckUtils]: 83: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:33:27,388 INFO L290 TraceCheckUtils]: 84: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:33:27,388 INFO L290 TraceCheckUtils]: 85: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:33:27,388 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26649#true} {26871#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #71#return; {26871#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:33:27,389 INFO L290 TraceCheckUtils]: 87: Hoare triple {26871#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {26871#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= main_~b~0 main_~y~0) (= main_~q~0 0))} is VALID [2022-04-08 04:33:27,393 INFO L290 TraceCheckUtils]: 88: Hoare triple {26871#(and (= (+ main_~q~0 main_~p~0) (+ (* (- 2) main_~q~0) 1)) (= (+ (* main_~y~0 (* (- 1) main_~s~0)) (* main_~x~0 (+ (* (- 1) main_~q~0) 1))) (+ main_~x~0 (* (- 1) main_~b~0))) (= (+ (* main_~b~0 (- 3)) main_~x~0) main_~a~0) (= main_~r~0 (* main_~s~0 (- 3))) (= 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; {26926#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} is VALID [2022-04-08 04:33:27,393 INFO L290 TraceCheckUtils]: 89: Hoare triple {26926#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} assume !false; {26926#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} is VALID [2022-04-08 04:33:27,393 INFO L272 TraceCheckUtils]: 90: Hoare triple {26926#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:33:27,393 INFO L290 TraceCheckUtils]: 91: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:33:27,393 INFO L290 TraceCheckUtils]: 92: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:33:27,393 INFO L290 TraceCheckUtils]: 93: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:33:27,394 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {26649#true} {26926#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} #67#return; {26926#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} is VALID [2022-04-08 04:33:27,397 INFO L272 TraceCheckUtils]: 95: Hoare triple {26926#(and (= (+ main_~x~0 (* (* (div (- main_~r~0) 4) main_~y~0) (- 3))) (+ (* (div (- main_~r~0) 4) main_~y~0) main_~a~0)) (= (* (div (- main_~r~0) 4) main_~y~0) main_~y~0) (= (mod (* main_~r~0 3) 4) 0) (= main_~p~0 1))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26948#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:33:27,398 INFO L290 TraceCheckUtils]: 96: Hoare triple {26948#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {26952#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:33:27,398 INFO L290 TraceCheckUtils]: 97: Hoare triple {26952#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {26650#false} is VALID [2022-04-08 04:33:27,398 INFO L290 TraceCheckUtils]: 98: Hoare triple {26650#false} assume !false; {26650#false} is VALID [2022-04-08 04:33:27,399 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 70 proven. 112 refuted. 0 times theorem prover too weak. 208 trivial. 0 not checked. [2022-04-08 04:33:27,399 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:34:40,432 INFO L290 TraceCheckUtils]: 98: Hoare triple {26650#false} assume !false; {26650#false} is VALID [2022-04-08 04:34:40,432 INFO L290 TraceCheckUtils]: 97: Hoare triple {26952#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {26650#false} is VALID [2022-04-08 04:34:40,432 INFO L290 TraceCheckUtils]: 96: Hoare triple {26948#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {26952#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:34:40,433 INFO L272 TraceCheckUtils]: 95: Hoare triple {26968#(= 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)); {26948#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:34:40,433 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {26649#true} {26968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {26968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:34:40,434 INFO L290 TraceCheckUtils]: 93: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:34:40,434 INFO L290 TraceCheckUtils]: 92: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:34:40,434 INFO L290 TraceCheckUtils]: 91: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:34:40,434 INFO L272 TraceCheckUtils]: 90: Hoare triple {26968#(= 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)); {26649#true} is VALID [2022-04-08 04:34:40,434 INFO L290 TraceCheckUtils]: 89: Hoare triple {26968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {26968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:34:40,968 INFO L290 TraceCheckUtils]: 88: Hoare triple {26990#(= (+ 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; {26968#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:34:40,969 INFO L290 TraceCheckUtils]: 87: Hoare triple {26990#(= (+ 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); {26990#(= (+ 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-08 04:34:40,970 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26649#true} {26990#(= (+ 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)))))} #71#return; {26990#(= (+ 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-08 04:34:40,970 INFO L290 TraceCheckUtils]: 85: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:34:40,970 INFO L290 TraceCheckUtils]: 84: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:34:40,970 INFO L290 TraceCheckUtils]: 83: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:34:40,971 INFO L272 TraceCheckUtils]: 82: Hoare triple {26990#(= (+ 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)); {26649#true} is VALID [2022-04-08 04:34:40,972 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} {27012#(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)))))} #69#return; {26990#(= (+ 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-08 04:34:40,972 INFO L290 TraceCheckUtils]: 80: Hoare triple {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:40,972 INFO L290 TraceCheckUtils]: 79: Hoare triple {27022#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:40,973 INFO L290 TraceCheckUtils]: 78: Hoare triple {26649#true} ~cond := #in~cond; {27022#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:34:40,973 INFO L272 TraceCheckUtils]: 77: Hoare triple {27012#(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)); {26649#true} is VALID [2022-04-08 04:34:40,973 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {26649#true} {27012#(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)))))} #67#return; {27012#(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-08 04:34:40,973 INFO L290 TraceCheckUtils]: 75: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:34:40,974 INFO L290 TraceCheckUtils]: 74: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:34:40,974 INFO L290 TraceCheckUtils]: 73: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:34:40,974 INFO L272 TraceCheckUtils]: 72: Hoare triple {27012#(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)); {26649#true} is VALID [2022-04-08 04:34:40,974 INFO L290 TraceCheckUtils]: 71: Hoare triple {27012#(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 !false; {27012#(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-08 04:34:41,054 INFO L290 TraceCheckUtils]: 70: Hoare triple {27047#(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; {27012#(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-08 04:34:41,055 INFO L290 TraceCheckUtils]: 69: Hoare triple {27047#(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); {27047#(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-08 04:34:41,055 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {26649#true} {27047#(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)))))))} #71#return; {27047#(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-08 04:34:41,055 INFO L290 TraceCheckUtils]: 67: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:34:41,055 INFO L290 TraceCheckUtils]: 66: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:34:41,056 INFO L290 TraceCheckUtils]: 65: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:34:41,056 INFO L272 TraceCheckUtils]: 64: Hoare triple {27047#(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)); {26649#true} is VALID [2022-04-08 04:34:41,058 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} {26649#true} #69#return; {27047#(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-08 04:34:41,058 INFO L290 TraceCheckUtils]: 62: Hoare triple {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:41,059 INFO L290 TraceCheckUtils]: 61: Hoare triple {27022#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {26731#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:34:41,059 INFO L290 TraceCheckUtils]: 60: Hoare triple {26649#true} ~cond := #in~cond; {27022#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:34:41,059 INFO L272 TraceCheckUtils]: 59: Hoare triple {26649#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:34:41,059 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {26649#true} {26649#true} #67#return; {26649#true} is VALID [2022-04-08 04:34:41,059 INFO L290 TraceCheckUtils]: 57: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:34:41,059 INFO L290 TraceCheckUtils]: 56: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:34:41,059 INFO L290 TraceCheckUtils]: 55: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:34:41,060 INFO L272 TraceCheckUtils]: 54: Hoare triple {26649#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:34:41,060 INFO L290 TraceCheckUtils]: 53: Hoare triple {26649#true} assume !false; {26649#true} is VALID [2022-04-08 04:34:41,060 INFO L290 TraceCheckUtils]: 52: Hoare triple {26649#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {26649#true} is VALID [2022-04-08 04:34:41,060 INFO L290 TraceCheckUtils]: 51: Hoare triple {26649#true} assume !!(~a~0 != ~b~0); {26649#true} is VALID [2022-04-08 04:34:41,060 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {26649#true} {26649#true} #71#return; {26649#true} is VALID [2022-04-08 04:34:41,060 INFO L290 TraceCheckUtils]: 49: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:34:41,060 INFO L290 TraceCheckUtils]: 48: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:34:41,060 INFO L290 TraceCheckUtils]: 47: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:34:41,060 INFO L272 TraceCheckUtils]: 46: Hoare triple {26649#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:34:41,060 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {26649#true} {26649#true} #69#return; {26649#true} is VALID [2022-04-08 04:34:41,060 INFO L290 TraceCheckUtils]: 44: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:34:41,060 INFO L290 TraceCheckUtils]: 43: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:34:41,060 INFO L290 TraceCheckUtils]: 42: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:34:41,060 INFO L272 TraceCheckUtils]: 41: Hoare triple {26649#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:34:41,061 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {26649#true} {26649#true} #67#return; {26649#true} is VALID [2022-04-08 04:34:41,061 INFO L290 TraceCheckUtils]: 39: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:34:41,061 INFO L290 TraceCheckUtils]: 38: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:34:41,061 INFO L290 TraceCheckUtils]: 37: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:34:41,061 INFO L272 TraceCheckUtils]: 36: Hoare triple {26649#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:34:41,061 INFO L290 TraceCheckUtils]: 35: Hoare triple {26649#true} assume !false; {26649#true} is VALID [2022-04-08 04:34:41,061 INFO L290 TraceCheckUtils]: 34: Hoare triple {26649#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {26649#true} is VALID [2022-04-08 04:34:41,061 INFO L290 TraceCheckUtils]: 33: Hoare triple {26649#true} assume !!(~a~0 != ~b~0); {26649#true} is VALID [2022-04-08 04:34:41,061 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {26649#true} {26649#true} #71#return; {26649#true} is VALID [2022-04-08 04:34:41,061 INFO L290 TraceCheckUtils]: 31: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:34:41,061 INFO L290 TraceCheckUtils]: 30: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:34:41,061 INFO L290 TraceCheckUtils]: 29: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:34:41,061 INFO L272 TraceCheckUtils]: 28: Hoare triple {26649#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:34:41,062 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {26649#true} {26649#true} #69#return; {26649#true} is VALID [2022-04-08 04:34:41,062 INFO L290 TraceCheckUtils]: 26: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:34:41,062 INFO L290 TraceCheckUtils]: 25: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:34:41,062 INFO L290 TraceCheckUtils]: 24: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:34:41,062 INFO L272 TraceCheckUtils]: 23: Hoare triple {26649#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:34:41,062 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {26649#true} {26649#true} #67#return; {26649#true} is VALID [2022-04-08 04:34:41,062 INFO L290 TraceCheckUtils]: 21: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:34:41,062 INFO L290 TraceCheckUtils]: 20: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:34:41,062 INFO L290 TraceCheckUtils]: 19: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:34:41,062 INFO L272 TraceCheckUtils]: 18: Hoare triple {26649#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:34:41,062 INFO L290 TraceCheckUtils]: 17: Hoare triple {26649#true} assume !false; {26649#true} is VALID [2022-04-08 04:34:41,062 INFO L290 TraceCheckUtils]: 16: Hoare triple {26649#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {26649#true} is VALID [2022-04-08 04:34:41,062 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {26649#true} {26649#true} #65#return; {26649#true} is VALID [2022-04-08 04:34:41,062 INFO L290 TraceCheckUtils]: 14: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:34:41,063 INFO L290 TraceCheckUtils]: 13: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:34:41,063 INFO L290 TraceCheckUtils]: 12: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:34:41,063 INFO L272 TraceCheckUtils]: 11: Hoare triple {26649#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:34:41,063 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26649#true} {26649#true} #63#return; {26649#true} is VALID [2022-04-08 04:34:41,063 INFO L290 TraceCheckUtils]: 9: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:34:41,063 INFO L290 TraceCheckUtils]: 8: Hoare triple {26649#true} assume !(0 == ~cond); {26649#true} is VALID [2022-04-08 04:34:41,063 INFO L290 TraceCheckUtils]: 7: Hoare triple {26649#true} ~cond := #in~cond; {26649#true} is VALID [2022-04-08 04:34:41,063 INFO L272 TraceCheckUtils]: 6: Hoare triple {26649#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {26649#true} is VALID [2022-04-08 04:34:41,063 INFO L290 TraceCheckUtils]: 5: Hoare triple {26649#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; {26649#true} is VALID [2022-04-08 04:34:41,063 INFO L272 TraceCheckUtils]: 4: Hoare triple {26649#true} call #t~ret6 := main(); {26649#true} is VALID [2022-04-08 04:34:41,063 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26649#true} {26649#true} #81#return; {26649#true} is VALID [2022-04-08 04:34:41,063 INFO L290 TraceCheckUtils]: 2: Hoare triple {26649#true} assume true; {26649#true} is VALID [2022-04-08 04:34:41,063 INFO L290 TraceCheckUtils]: 1: Hoare triple {26649#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); {26649#true} is VALID [2022-04-08 04:34:41,064 INFO L272 TraceCheckUtils]: 0: Hoare triple {26649#true} call ULTIMATE.init(); {26649#true} is VALID [2022-04-08 04:34:41,064 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 102 proven. 26 refuted. 0 times theorem prover too weak. 262 trivial. 0 not checked. [2022-04-08 04:34:41,064 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:34:41,064 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [938305543] [2022-04-08 04:34:41,064 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:34:41,064 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1268887080] [2022-04-08 04:34:41,064 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1268887080] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:34:41,064 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:34:41,065 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-08 04:34:41,065 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:34:41,065 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [278816310] [2022-04-08 04:34:41,065 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [278816310] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:34:41,065 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:34:41,065 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-08 04:34:41,065 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2036514681] [2022-04-08 04:34:41,065 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:34:41,066 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) Word has length 99 [2022-04-08 04:34:41,066 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:34:41,066 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-08 04:34:41,195 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:34:41,195 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-08 04:34:41,195 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:34:41,195 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-08 04:34:41,195 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=247, Unknown=0, NotChecked=0, Total=306 [2022-04-08 04:34:41,196 INFO L87 Difference]: Start difference. First operand 267 states and 310 transitions. Second operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-08 04:34:45,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:34:45,045 INFO L93 Difference]: Finished difference Result 297 states and 349 transitions. [2022-04-08 04:34:45,045 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 04:34:45,045 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) Word has length 99 [2022-04-08 04:34:45,046 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:34:45,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-08 04:34:45,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-08 04:34:45,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-08 04:34:45,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-08 04:34:45,049 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 100 transitions. [2022-04-08 04:34:45,249 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-08 04:34:45,257 INFO L225 Difference]: With dead ends: 297 [2022-04-08 04:34:45,257 INFO L226 Difference]: Without dead ends: 295 [2022-04-08 04:34:45,257 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 199 GetRequests, 178 SyntacticMatches, 3 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=72, Invalid=308, Unknown=0, NotChecked=0, Total=380 [2022-04-08 04:34:45,259 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 15 mSDsluCounter, 181 mSDsCounter, 0 mSdLazyCounter, 616 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 228 SdHoareTripleChecker+Invalid, 630 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 616 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.8s IncrementalHoareTripleChecker+Time [2022-04-08 04:34:45,259 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 228 Invalid, 630 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 616 Invalid, 0 Unknown, 0 Unchecked, 1.8s Time] [2022-04-08 04:34:45,263 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 295 states. [2022-04-08 04:34:45,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 295 to 291. [2022-04-08 04:34:45,623 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:34:45,623 INFO L82 GeneralOperation]: Start isEquivalent. First operand 295 states. Second operand has 291 states, 180 states have (on average 1.1222222222222222) internal successors, (202), 185 states have internal predecessors, (202), 70 states have call successors, (70), 41 states have call predecessors, (70), 40 states have return successors, (68), 64 states have call predecessors, (68), 68 states have call successors, (68) [2022-04-08 04:34:45,623 INFO L74 IsIncluded]: Start isIncluded. First operand 295 states. Second operand has 291 states, 180 states have (on average 1.1222222222222222) internal successors, (202), 185 states have internal predecessors, (202), 70 states have call successors, (70), 41 states have call predecessors, (70), 40 states have return successors, (68), 64 states have call predecessors, (68), 68 states have call successors, (68) [2022-04-08 04:34:45,624 INFO L87 Difference]: Start difference. First operand 295 states. Second operand has 291 states, 180 states have (on average 1.1222222222222222) internal successors, (202), 185 states have internal predecessors, (202), 70 states have call successors, (70), 41 states have call predecessors, (70), 40 states have return successors, (68), 64 states have call predecessors, (68), 68 states have call successors, (68) [2022-04-08 04:34:45,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:34:45,630 INFO L93 Difference]: Finished difference Result 295 states and 347 transitions. [2022-04-08 04:34:45,630 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 347 transitions. [2022-04-08 04:34:45,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:34:45,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:34:45,631 INFO L74 IsIncluded]: Start isIncluded. First operand has 291 states, 180 states have (on average 1.1222222222222222) internal successors, (202), 185 states have internal predecessors, (202), 70 states have call successors, (70), 41 states have call predecessors, (70), 40 states have return successors, (68), 64 states have call predecessors, (68), 68 states have call successors, (68) Second operand 295 states. [2022-04-08 04:34:45,631 INFO L87 Difference]: Start difference. First operand has 291 states, 180 states have (on average 1.1222222222222222) internal successors, (202), 185 states have internal predecessors, (202), 70 states have call successors, (70), 41 states have call predecessors, (70), 40 states have return successors, (68), 64 states have call predecessors, (68), 68 states have call successors, (68) Second operand 295 states. [2022-04-08 04:34:45,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:34:45,637 INFO L93 Difference]: Finished difference Result 295 states and 347 transitions. [2022-04-08 04:34:45,637 INFO L276 IsEmpty]: Start isEmpty. Operand 295 states and 347 transitions. [2022-04-08 04:34:45,637 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:34:45,637 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:34:45,637 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:34:45,637 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:34:45,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 291 states, 180 states have (on average 1.1222222222222222) internal successors, (202), 185 states have internal predecessors, (202), 70 states have call successors, (70), 41 states have call predecessors, (70), 40 states have return successors, (68), 64 states have call predecessors, (68), 68 states have call successors, (68) [2022-04-08 04:34:45,643 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 291 states to 291 states and 340 transitions. [2022-04-08 04:34:45,643 INFO L78 Accepts]: Start accepts. Automaton has 291 states and 340 transitions. Word has length 99 [2022-04-08 04:34:45,644 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:34:45,644 INFO L478 AbstractCegarLoop]: Abstraction has 291 states and 340 transitions. [2022-04-08 04:34:45,644 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 2.230769230769231) internal successors, (29), 12 states have internal predecessors, (29), 8 states have call successors, (18), 2 states have call predecessors, (18), 2 states have return successors, (16), 8 states have call predecessors, (16), 8 states have call successors, (16) [2022-04-08 04:34:45,644 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 291 states and 340 transitions. [2022-04-08 04:34:46,947 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 340 edges. 340 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:34:46,947 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 340 transitions. [2022-04-08 04:34:46,948 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-08 04:34:46,948 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:34:46,948 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:34:46,968 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-08 04:34:47,148 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-04-08 04:34:47,149 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:34:47,149 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:34:47,149 INFO L85 PathProgramCache]: Analyzing trace with hash 1783053729, now seen corresponding path program 19 times [2022-04-08 04:34:47,149 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:34:47,149 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1492305418] [2022-04-08 04:34:47,149 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:34:47,149 INFO L85 PathProgramCache]: Analyzing trace with hash 1783053729, now seen corresponding path program 20 times [2022-04-08 04:34:47,150 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:34:47,150 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2076640492] [2022-04-08 04:34:47,150 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:34:47,150 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:34:47,161 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:34:47,161 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2140356467] [2022-04-08 04:34:47,161 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-08 04:34:47,161 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:34:47,162 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:34:47,172 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-08 04:34:47,173 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-08 04:34:47,229 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-08 04:34:47,229 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:34:47,230 INFO L263 TraceCheckSpWp]: Trace formula consists of 240 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-08 04:34:47,244 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:34:47,249 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:34:48,332 INFO L272 TraceCheckUtils]: 0: Hoare triple {29030#true} call ULTIMATE.init(); {29030#true} is VALID [2022-04-08 04:34:48,333 INFO L290 TraceCheckUtils]: 1: Hoare triple {29030#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); {29030#true} is VALID [2022-04-08 04:34:48,333 INFO L290 TraceCheckUtils]: 2: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,333 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29030#true} {29030#true} #81#return; {29030#true} is VALID [2022-04-08 04:34:48,333 INFO L272 TraceCheckUtils]: 4: Hoare triple {29030#true} call #t~ret6 := main(); {29030#true} is VALID [2022-04-08 04:34:48,333 INFO L290 TraceCheckUtils]: 5: Hoare triple {29030#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; {29030#true} is VALID [2022-04-08 04:34:48,333 INFO L272 TraceCheckUtils]: 6: Hoare triple {29030#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:48,333 INFO L290 TraceCheckUtils]: 7: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:48,333 INFO L290 TraceCheckUtils]: 8: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:48,333 INFO L290 TraceCheckUtils]: 9: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,333 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29030#true} {29030#true} #63#return; {29030#true} is VALID [2022-04-08 04:34:48,333 INFO L272 TraceCheckUtils]: 11: Hoare triple {29030#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:48,333 INFO L290 TraceCheckUtils]: 12: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:48,333 INFO L290 TraceCheckUtils]: 13: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:48,333 INFO L290 TraceCheckUtils]: 14: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,333 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29030#true} {29030#true} #65#return; {29030#true} is VALID [2022-04-08 04:34:48,334 INFO L290 TraceCheckUtils]: 16: Hoare triple {29030#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29083#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:34:48,334 INFO L290 TraceCheckUtils]: 17: Hoare triple {29083#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} assume !false; {29083#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:34:48,334 INFO L272 TraceCheckUtils]: 18: Hoare triple {29083#(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)); {29030#true} is VALID [2022-04-08 04:34:48,334 INFO L290 TraceCheckUtils]: 19: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:48,334 INFO L290 TraceCheckUtils]: 20: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:48,334 INFO L290 TraceCheckUtils]: 21: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,335 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {29030#true} {29083#(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))} #67#return; {29083#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:34:48,335 INFO L272 TraceCheckUtils]: 23: Hoare triple {29083#(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)); {29030#true} is VALID [2022-04-08 04:34:48,335 INFO L290 TraceCheckUtils]: 24: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:48,335 INFO L290 TraceCheckUtils]: 25: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:48,335 INFO L290 TraceCheckUtils]: 26: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,336 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {29030#true} {29083#(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))} #69#return; {29083#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:34:48,336 INFO L272 TraceCheckUtils]: 28: Hoare triple {29083#(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)); {29030#true} is VALID [2022-04-08 04:34:48,336 INFO L290 TraceCheckUtils]: 29: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:48,336 INFO L290 TraceCheckUtils]: 30: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:48,336 INFO L290 TraceCheckUtils]: 31: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,336 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {29030#true} {29083#(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))} #71#return; {29083#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:34:48,337 INFO L290 TraceCheckUtils]: 33: Hoare triple {29083#(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); {29083#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-08 04:34:48,337 INFO L290 TraceCheckUtils]: 34: Hoare triple {29083#(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; {29138#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 04:34:48,338 INFO L290 TraceCheckUtils]: 35: Hoare triple {29138#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !false; {29138#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 04:34:48,338 INFO L272 TraceCheckUtils]: 36: Hoare triple {29138#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= 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)); {29030#true} is VALID [2022-04-08 04:34:48,338 INFO L290 TraceCheckUtils]: 37: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:48,338 INFO L290 TraceCheckUtils]: 38: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:48,338 INFO L290 TraceCheckUtils]: 39: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,338 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {29030#true} {29138#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #67#return; {29138#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 04:34:48,339 INFO L272 TraceCheckUtils]: 41: Hoare triple {29138#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= 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)); {29030#true} is VALID [2022-04-08 04:34:48,339 INFO L290 TraceCheckUtils]: 42: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:48,339 INFO L290 TraceCheckUtils]: 43: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:48,339 INFO L290 TraceCheckUtils]: 44: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,339 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {29030#true} {29138#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #69#return; {29138#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 04:34:48,339 INFO L272 TraceCheckUtils]: 46: Hoare triple {29138#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= 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)); {29030#true} is VALID [2022-04-08 04:34:48,339 INFO L290 TraceCheckUtils]: 47: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:48,339 INFO L290 TraceCheckUtils]: 48: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:48,339 INFO L290 TraceCheckUtils]: 49: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,340 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {29030#true} {29138#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} #71#return; {29138#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 04:34:48,340 INFO L290 TraceCheckUtils]: 51: Hoare triple {29138#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {29138#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~0)) (= main_~q~0 0))} is VALID [2022-04-08 04:34:48,342 INFO L290 TraceCheckUtils]: 52: Hoare triple {29138#(and (= (+ main_~q~0 main_~p~0) 1) (= main_~s~0 1) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~r~0 (* (- 1) main_~s~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; {29193#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-08 04:34:48,342 INFO L290 TraceCheckUtils]: 53: Hoare triple {29193#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} assume !false; {29193#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-08 04:34:48,342 INFO L272 TraceCheckUtils]: 54: Hoare triple {29193#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:48,342 INFO L290 TraceCheckUtils]: 55: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:48,342 INFO L290 TraceCheckUtils]: 56: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:48,342 INFO L290 TraceCheckUtils]: 57: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,343 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {29030#true} {29193#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #67#return; {29193#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-08 04:34:48,343 INFO L272 TraceCheckUtils]: 59: Hoare triple {29193#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:48,343 INFO L290 TraceCheckUtils]: 60: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:48,343 INFO L290 TraceCheckUtils]: 61: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:48,343 INFO L290 TraceCheckUtils]: 62: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,344 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {29030#true} {29193#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #69#return; {29193#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-08 04:34:48,344 INFO L272 TraceCheckUtils]: 64: Hoare triple {29193#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:48,344 INFO L290 TraceCheckUtils]: 65: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:48,344 INFO L290 TraceCheckUtils]: 66: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:48,344 INFO L290 TraceCheckUtils]: 67: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,351 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {29030#true} {29193#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} #71#return; {29193#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} is VALID [2022-04-08 04:34:48,352 INFO L290 TraceCheckUtils]: 69: Hoare triple {29193#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0))} assume !!(~a~0 != ~b~0); {29245#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:34:48,353 INFO L290 TraceCheckUtils]: 70: Hoare triple {29245#(and (= (+ main_~s~0 main_~r~0) (* (- 1) main_~s~0)) (= main_~s~0 1) (= (+ main_~p~0 (* main_~q~0 2)) 1) (= main_~b~0 main_~y~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) (+ main_~b~0 main_~a~0)) (< 0 main_~a~0) (= main_~q~0 0) (not (= 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; {29249#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 04:34:48,353 INFO L290 TraceCheckUtils]: 71: Hoare triple {29249#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !false; {29249#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 04:34:48,353 INFO L272 TraceCheckUtils]: 72: Hoare triple {29249#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~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)); {29030#true} is VALID [2022-04-08 04:34:48,353 INFO L290 TraceCheckUtils]: 73: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:48,354 INFO L290 TraceCheckUtils]: 74: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:48,354 INFO L290 TraceCheckUtils]: 75: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,354 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {29030#true} {29249#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #67#return; {29249#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 04:34:48,354 INFO L272 TraceCheckUtils]: 77: Hoare triple {29249#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~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)); {29030#true} is VALID [2022-04-08 04:34:48,354 INFO L290 TraceCheckUtils]: 78: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:48,354 INFO L290 TraceCheckUtils]: 79: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:48,354 INFO L290 TraceCheckUtils]: 80: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,355 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {29030#true} {29249#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #69#return; {29249#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 04:34:48,355 INFO L272 TraceCheckUtils]: 82: Hoare triple {29249#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~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)); {29030#true} is VALID [2022-04-08 04:34:48,355 INFO L290 TraceCheckUtils]: 83: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:48,355 INFO L290 TraceCheckUtils]: 84: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:48,355 INFO L290 TraceCheckUtils]: 85: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,356 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {29030#true} {29249#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} #71#return; {29249#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 04:34:48,356 INFO L290 TraceCheckUtils]: 87: Hoare triple {29249#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} assume !!(~a~0 != ~b~0); {29249#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~0) (= main_~q~0 (* (- 1) main_~p~0)) (= main_~p~0 1))} is VALID [2022-04-08 04:34:48,358 INFO L290 TraceCheckUtils]: 88: Hoare triple {29249#(and (= (+ main_~s~0 main_~r~0) 1) (not (= main_~a~0 main_~y~0)) (not (< main_~y~0 main_~a~0)) (= (+ (* (- 1) main_~a~0) main_~y~0) main_~b~0) (= (+ main_~a~0 main_~y~0) (+ main_~x~0 (* (- 1) main_~y~0))) (= (+ main_~s~0 (* main_~r~0 2)) (+ (* (- 1) main_~s~0) (* (- 1) main_~r~0))) (< 0 main_~a~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; {29304#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} is VALID [2022-04-08 04:34:48,358 INFO L290 TraceCheckUtils]: 89: Hoare triple {29304#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} assume !false; {29304#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} is VALID [2022-04-08 04:34:48,358 INFO L272 TraceCheckUtils]: 90: Hoare triple {29304#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:48,359 INFO L290 TraceCheckUtils]: 91: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:48,359 INFO L290 TraceCheckUtils]: 92: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:48,359 INFO L290 TraceCheckUtils]: 93: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:48,359 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29030#true} {29304#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} #67#return; {29304#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} is VALID [2022-04-08 04:34:48,360 INFO L272 TraceCheckUtils]: 95: Hoare triple {29304#(and (<= main_~x~0 (* main_~y~0 3)) (< (* 5 main_~y~0) (* main_~x~0 2)) (not (= main_~x~0 (* main_~y~0 3))) (= (+ 5 main_~r~0) 0) (= main_~p~0 2) (= (* main_~x~0 2) (+ (* 5 main_~y~0) main_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29326#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:34:48,360 INFO L290 TraceCheckUtils]: 96: Hoare triple {29326#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29330#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:34:48,360 INFO L290 TraceCheckUtils]: 97: Hoare triple {29330#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29031#false} is VALID [2022-04-08 04:34:48,361 INFO L290 TraceCheckUtils]: 98: Hoare triple {29031#false} assume !false; {29031#false} is VALID [2022-04-08 04:34:48,361 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 26 proven. 48 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-08 04:34:48,361 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:34:49,132 INFO L290 TraceCheckUtils]: 98: Hoare triple {29031#false} assume !false; {29031#false} is VALID [2022-04-08 04:34:49,133 INFO L290 TraceCheckUtils]: 97: Hoare triple {29330#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29031#false} is VALID [2022-04-08 04:34:49,133 INFO L290 TraceCheckUtils]: 96: Hoare triple {29326#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29330#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:34:49,134 INFO L272 TraceCheckUtils]: 95: Hoare triple {29346#(= 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)); {29326#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:34:49,134 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29030#true} {29346#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {29346#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:34:49,134 INFO L290 TraceCheckUtils]: 93: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:49,134 INFO L290 TraceCheckUtils]: 92: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:49,134 INFO L290 TraceCheckUtils]: 91: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:49,134 INFO L272 TraceCheckUtils]: 90: Hoare triple {29346#(= 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)); {29030#true} is VALID [2022-04-08 04:34:49,135 INFO L290 TraceCheckUtils]: 89: Hoare triple {29346#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {29346#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:34:50,133 INFO L290 TraceCheckUtils]: 88: Hoare triple {29368#(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_~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; {29346#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:34:50,134 INFO L290 TraceCheckUtils]: 87: Hoare triple {29368#(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_~a~0)))} assume !!(~a~0 != ~b~0); {29368#(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_~a~0)))} is VALID [2022-04-08 04:34:50,134 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {29030#true} {29368#(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_~a~0)))} #71#return; {29368#(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_~a~0)))} is VALID [2022-04-08 04:34:50,134 INFO L290 TraceCheckUtils]: 85: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:50,135 INFO L290 TraceCheckUtils]: 84: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:50,135 INFO L290 TraceCheckUtils]: 83: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:50,135 INFO L272 TraceCheckUtils]: 82: Hoare triple {29368#(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_~a~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:50,135 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {29030#true} {29368#(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_~a~0)))} #69#return; {29368#(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_~a~0)))} is VALID [2022-04-08 04:34:50,135 INFO L290 TraceCheckUtils]: 80: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:50,136 INFO L290 TraceCheckUtils]: 79: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:50,136 INFO L290 TraceCheckUtils]: 78: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:50,136 INFO L272 TraceCheckUtils]: 77: Hoare triple {29368#(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_~a~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:50,136 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {29030#true} {29368#(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_~a~0)))} #67#return; {29368#(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_~a~0)))} is VALID [2022-04-08 04:34:50,136 INFO L290 TraceCheckUtils]: 75: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:50,136 INFO L290 TraceCheckUtils]: 74: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:50,143 INFO L290 TraceCheckUtils]: 73: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:50,143 INFO L272 TraceCheckUtils]: 72: Hoare triple {29368#(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_~a~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:50,148 INFO L290 TraceCheckUtils]: 71: Hoare triple {29368#(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_~a~0)))} assume !false; {29368#(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_~a~0)))} is VALID [2022-04-08 04:34:50,370 INFO L290 TraceCheckUtils]: 70: Hoare triple {29423#(or (not (< main_~b~0 (* main_~a~0 2))) (< 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; {29368#(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_~a~0)))} is VALID [2022-04-08 04:34:50,371 INFO L290 TraceCheckUtils]: 69: Hoare triple {29427#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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); {29423#(or (not (< main_~b~0 (* main_~a~0 2))) (< 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-08 04:34:50,371 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {29030#true} {29427#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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))))} #71#return; {29427#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-08 04:34:50,371 INFO L290 TraceCheckUtils]: 67: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:50,371 INFO L290 TraceCheckUtils]: 66: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:50,372 INFO L290 TraceCheckUtils]: 65: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:50,372 INFO L272 TraceCheckUtils]: 64: Hoare triple {29427#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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)); {29030#true} is VALID [2022-04-08 04:34:50,372 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {29030#true} {29427#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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))))} #69#return; {29427#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-08 04:34:50,372 INFO L290 TraceCheckUtils]: 62: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:50,372 INFO L290 TraceCheckUtils]: 61: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:50,372 INFO L290 TraceCheckUtils]: 60: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:50,373 INFO L272 TraceCheckUtils]: 59: Hoare triple {29427#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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)); {29030#true} is VALID [2022-04-08 04:34:50,373 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {29030#true} {29427#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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))))} #67#return; {29427#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-08 04:34:50,373 INFO L290 TraceCheckUtils]: 57: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:50,373 INFO L290 TraceCheckUtils]: 56: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:50,373 INFO L290 TraceCheckUtils]: 55: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:50,374 INFO L272 TraceCheckUtils]: 54: Hoare triple {29427#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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)); {29030#true} is VALID [2022-04-08 04:34:50,374 INFO L290 TraceCheckUtils]: 53: Hoare triple {29427#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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 !false; {29427#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-08 04:34:52,376 WARN L290 TraceCheckUtils]: 52: Hoare triple {29479#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~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; {29427#(or (not (< main_~b~0 (* main_~a~0 2))) (< main_~b~0 main_~a~0) (= 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-08 04:34:52,377 INFO L290 TraceCheckUtils]: 51: Hoare triple {29479#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} assume !!(~a~0 != ~b~0); {29479#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-08 04:34:52,378 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {29030#true} {29479#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #71#return; {29479#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-08 04:34:52,378 INFO L290 TraceCheckUtils]: 49: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:52,378 INFO L290 TraceCheckUtils]: 48: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:52,378 INFO L290 TraceCheckUtils]: 47: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:52,378 INFO L272 TraceCheckUtils]: 46: Hoare triple {29479#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:52,379 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {29030#true} {29479#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #69#return; {29479#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-08 04:34:52,379 INFO L290 TraceCheckUtils]: 44: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:52,379 INFO L290 TraceCheckUtils]: 43: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:52,379 INFO L290 TraceCheckUtils]: 42: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:52,379 INFO L272 TraceCheckUtils]: 41: Hoare triple {29479#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:52,379 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {29030#true} {29479#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} #67#return; {29479#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-08 04:34:52,379 INFO L290 TraceCheckUtils]: 39: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:52,379 INFO L290 TraceCheckUtils]: 38: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:52,380 INFO L290 TraceCheckUtils]: 37: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:52,380 INFO L272 TraceCheckUtils]: 36: Hoare triple {29479#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:52,380 INFO L290 TraceCheckUtils]: 35: Hoare triple {29479#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} assume !false; {29479#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-08 04:34:52,632 INFO L290 TraceCheckUtils]: 34: Hoare triple {29534#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 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; {29479#(or (<= (* main_~a~0 2) (* main_~b~0 3)) (< (* main_~b~0 2) main_~a~0) (= main_~a~0 (* main_~b~0 2)) (= (+ (* main_~a~0 2) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0))) (+ (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)) (* main_~b~0 3))))} is VALID [2022-04-08 04:34:52,632 INFO L290 TraceCheckUtils]: 33: Hoare triple {29534#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} assume !!(~a~0 != ~b~0); {29534#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-08 04:34:52,633 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {29030#true} {29534#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #71#return; {29534#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-08 04:34:52,633 INFO L290 TraceCheckUtils]: 31: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:52,633 INFO L290 TraceCheckUtils]: 30: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:52,633 INFO L290 TraceCheckUtils]: 29: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:52,633 INFO L272 TraceCheckUtils]: 28: Hoare triple {29534#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:52,634 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {29030#true} {29534#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #69#return; {29534#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-08 04:34:52,634 INFO L290 TraceCheckUtils]: 26: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:52,634 INFO L290 TraceCheckUtils]: 25: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:52,634 INFO L290 TraceCheckUtils]: 24: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:52,634 INFO L272 TraceCheckUtils]: 23: Hoare triple {29534#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:52,635 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {29030#true} {29534#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} #67#return; {29534#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-08 04:34:52,635 INFO L290 TraceCheckUtils]: 21: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:52,635 INFO L290 TraceCheckUtils]: 20: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:52,635 INFO L290 TraceCheckUtils]: 19: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:52,635 INFO L272 TraceCheckUtils]: 18: Hoare triple {29534#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:52,635 INFO L290 TraceCheckUtils]: 17: Hoare triple {29534#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} assume !false; {29534#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-08 04:34:52,636 INFO L290 TraceCheckUtils]: 16: Hoare triple {29030#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29534#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (* main_~b~0 2)) (< (* main_~b~0 3) main_~a~0) (= (+ (* 2 (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))) (* (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) 2) (* main_~b~0 3)) (+ (* main_~a~0 2) (* (- 2) main_~b~0) (* (* main_~q~0 main_~x~0) 3) (* 3 (* main_~y~0 main_~s~0)))) (<= (* main_~a~0 2) (* 5 main_~b~0)))} is VALID [2022-04-08 04:34:52,636 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29030#true} {29030#true} #65#return; {29030#true} is VALID [2022-04-08 04:34:52,636 INFO L290 TraceCheckUtils]: 14: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:52,636 INFO L290 TraceCheckUtils]: 13: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:52,636 INFO L290 TraceCheckUtils]: 12: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:52,636 INFO L272 TraceCheckUtils]: 11: Hoare triple {29030#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:52,636 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29030#true} {29030#true} #63#return; {29030#true} is VALID [2022-04-08 04:34:52,636 INFO L290 TraceCheckUtils]: 9: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:52,636 INFO L290 TraceCheckUtils]: 8: Hoare triple {29030#true} assume !(0 == ~cond); {29030#true} is VALID [2022-04-08 04:34:52,636 INFO L290 TraceCheckUtils]: 7: Hoare triple {29030#true} ~cond := #in~cond; {29030#true} is VALID [2022-04-08 04:34:52,636 INFO L272 TraceCheckUtils]: 6: Hoare triple {29030#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29030#true} is VALID [2022-04-08 04:34:52,637 INFO L290 TraceCheckUtils]: 5: Hoare triple {29030#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; {29030#true} is VALID [2022-04-08 04:34:52,637 INFO L272 TraceCheckUtils]: 4: Hoare triple {29030#true} call #t~ret6 := main(); {29030#true} is VALID [2022-04-08 04:34:52,637 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29030#true} {29030#true} #81#return; {29030#true} is VALID [2022-04-08 04:34:52,637 INFO L290 TraceCheckUtils]: 2: Hoare triple {29030#true} assume true; {29030#true} is VALID [2022-04-08 04:34:52,637 INFO L290 TraceCheckUtils]: 1: Hoare triple {29030#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); {29030#true} is VALID [2022-04-08 04:34:52,637 INFO L272 TraceCheckUtils]: 0: Hoare triple {29030#true} call ULTIMATE.init(); {29030#true} is VALID [2022-04-08 04:34:52,637 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 26 proven. 48 refuted. 0 times theorem prover too weak. 316 trivial. 0 not checked. [2022-04-08 04:34:52,637 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:34:52,637 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2076640492] [2022-04-08 04:34:52,638 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:34:52,638 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2140356467] [2022-04-08 04:34:52,638 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2140356467] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:34:52,638 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:34:52,638 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-08 04:34:52,638 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:34:52,638 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1492305418] [2022-04-08 04:34:52,638 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1492305418] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:34:52,638 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:34:52,638 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-08 04:34:52,638 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [869236794] [2022-04-08 04:34:52,638 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:34:52,638 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), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 99 [2022-04-08 04:34:52,639 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:34:52,639 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), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 04:34:52,705 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:34:52,705 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-08 04:34:52,705 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:34:52,705 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-08 04:34:52,706 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-08 04:34:52,706 INFO L87 Difference]: Start difference. First operand 291 states and 340 transitions. Second operand has 10 states, 10 states have (on average 2.6) internal successors, (26), 9 states have internal predecessors, (26), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 04:34:55,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:34:55,700 INFO L93 Difference]: Finished difference Result 332 states and 390 transitions. [2022-04-08 04:34:55,700 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-08 04:34:55,700 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), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) Word has length 99 [2022-04-08 04:34:55,700 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:34:55,700 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), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 04:34:55,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 100 transitions. [2022-04-08 04:34:55,701 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), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 04:34:55,702 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 100 transitions. [2022-04-08 04:34:55,702 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 100 transitions. [2022-04-08 04:34:55,864 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-08 04:34:55,875 INFO L225 Difference]: With dead ends: 332 [2022-04-08 04:34:55,875 INFO L226 Difference]: Without dead ends: 330 [2022-04-08 04:34:55,875 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 198 GetRequests, 182 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=66, Invalid=206, Unknown=0, NotChecked=0, Total=272 [2022-04-08 04:34:55,875 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 9 mSDsluCounter, 211 mSDsCounter, 0 mSdLazyCounter, 478 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 14 SdHoareTripleChecker+Valid, 268 SdHoareTripleChecker+Invalid, 490 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 12 IncrementalHoareTripleChecker+Valid, 478 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.6s IncrementalHoareTripleChecker+Time [2022-04-08 04:34:55,876 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [14 Valid, 268 Invalid, 490 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [12 Valid, 478 Invalid, 0 Unknown, 0 Unchecked, 1.6s Time] [2022-04-08 04:34:55,876 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 330 states. [2022-04-08 04:34:56,235 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 330 to 296. [2022-04-08 04:34:56,235 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:34:56,235 INFO L82 GeneralOperation]: Start isEquivalent. First operand 330 states. Second operand has 296 states, 185 states have (on average 1.1135135135135135) internal successors, (206), 189 states have internal predecessors, (206), 68 states have call successors, (68), 43 states have call predecessors, (68), 42 states have return successors, (66), 63 states have call predecessors, (66), 66 states have call successors, (66) [2022-04-08 04:34:56,236 INFO L74 IsIncluded]: Start isIncluded. First operand 330 states. Second operand has 296 states, 185 states have (on average 1.1135135135135135) internal successors, (206), 189 states have internal predecessors, (206), 68 states have call successors, (68), 43 states have call predecessors, (68), 42 states have return successors, (66), 63 states have call predecessors, (66), 66 states have call successors, (66) [2022-04-08 04:34:56,236 INFO L87 Difference]: Start difference. First operand 330 states. Second operand has 296 states, 185 states have (on average 1.1135135135135135) internal successors, (206), 189 states have internal predecessors, (206), 68 states have call successors, (68), 43 states have call predecessors, (68), 42 states have return successors, (66), 63 states have call predecessors, (66), 66 states have call successors, (66) [2022-04-08 04:34:56,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:34:56,241 INFO L93 Difference]: Finished difference Result 330 states and 388 transitions. [2022-04-08 04:34:56,241 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 388 transitions. [2022-04-08 04:34:56,242 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:34:56,242 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:34:56,242 INFO L74 IsIncluded]: Start isIncluded. First operand has 296 states, 185 states have (on average 1.1135135135135135) internal successors, (206), 189 states have internal predecessors, (206), 68 states have call successors, (68), 43 states have call predecessors, (68), 42 states have return successors, (66), 63 states have call predecessors, (66), 66 states have call successors, (66) Second operand 330 states. [2022-04-08 04:34:56,242 INFO L87 Difference]: Start difference. First operand has 296 states, 185 states have (on average 1.1135135135135135) internal successors, (206), 189 states have internal predecessors, (206), 68 states have call successors, (68), 43 states have call predecessors, (68), 42 states have return successors, (66), 63 states have call predecessors, (66), 66 states have call successors, (66) Second operand 330 states. [2022-04-08 04:34:56,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:34:56,247 INFO L93 Difference]: Finished difference Result 330 states and 388 transitions. [2022-04-08 04:34:56,247 INFO L276 IsEmpty]: Start isEmpty. Operand 330 states and 388 transitions. [2022-04-08 04:34:56,248 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:34:56,248 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:34:56,248 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:34:56,248 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:34:56,248 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 296 states, 185 states have (on average 1.1135135135135135) internal successors, (206), 189 states have internal predecessors, (206), 68 states have call successors, (68), 43 states have call predecessors, (68), 42 states have return successors, (66), 63 states have call predecessors, (66), 66 states have call successors, (66) [2022-04-08 04:34:56,253 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 296 states to 296 states and 340 transitions. [2022-04-08 04:34:56,254 INFO L78 Accepts]: Start accepts. Automaton has 296 states and 340 transitions. Word has length 99 [2022-04-08 04:34:56,254 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:34:56,254 INFO L478 AbstractCegarLoop]: Abstraction has 296 states and 340 transitions. [2022-04-08 04:34:56,254 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), 6 states have call successors, (18), 2 states have call predecessors, (18), 1 states have return successors, (16), 6 states have call predecessors, (16), 6 states have call successors, (16) [2022-04-08 04:34:56,254 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 296 states and 340 transitions. [2022-04-08 04:34:57,693 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 340 edges. 340 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:34:57,693 INFO L276 IsEmpty]: Start isEmpty. Operand 296 states and 340 transitions. [2022-04-08 04:34:57,694 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-08 04:34:57,694 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:34:57,694 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 4, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:34:57,711 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-04-08 04:34:57,894 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:34:57,895 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:34:57,895 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:34:57,895 INFO L85 PathProgramCache]: Analyzing trace with hash 43761953, now seen corresponding path program 21 times [2022-04-08 04:34:57,895 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:34:57,895 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [563106629] [2022-04-08 04:34:57,896 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:34:57,896 INFO L85 PathProgramCache]: Analyzing trace with hash 43761953, now seen corresponding path program 22 times [2022-04-08 04:34:57,896 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:34:57,896 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [305861522] [2022-04-08 04:34:57,896 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:34:57,896 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:34:57,918 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:34:57,919 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1574203171] [2022-04-08 04:34:57,919 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-08 04:34:57,919 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:34:57,919 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:34:57,922 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-08 04:34:57,927 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-08 04:34:57,972 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-08 04:34:57,972 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:34:57,974 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-08 04:34:57,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:34:57,992 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:35:00,378 INFO L272 TraceCheckUtils]: 0: Hoare triple {31557#true} call ULTIMATE.init(); {31557#true} is VALID [2022-04-08 04:35:00,379 INFO L290 TraceCheckUtils]: 1: Hoare triple {31557#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); {31557#true} is VALID [2022-04-08 04:35:00,379 INFO L290 TraceCheckUtils]: 2: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:00,379 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31557#true} {31557#true} #81#return; {31557#true} is VALID [2022-04-08 04:35:00,379 INFO L272 TraceCheckUtils]: 4: Hoare triple {31557#true} call #t~ret6 := main(); {31557#true} is VALID [2022-04-08 04:35:00,379 INFO L290 TraceCheckUtils]: 5: Hoare triple {31557#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; {31557#true} is VALID [2022-04-08 04:35:00,379 INFO L272 TraceCheckUtils]: 6: Hoare triple {31557#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:00,379 INFO L290 TraceCheckUtils]: 7: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:00,379 INFO L290 TraceCheckUtils]: 8: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:00,379 INFO L290 TraceCheckUtils]: 9: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:00,379 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31557#true} {31557#true} #63#return; {31557#true} is VALID [2022-04-08 04:35:00,379 INFO L272 TraceCheckUtils]: 11: Hoare triple {31557#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:00,379 INFO L290 TraceCheckUtils]: 12: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:00,379 INFO L290 TraceCheckUtils]: 13: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:00,379 INFO L290 TraceCheckUtils]: 14: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:00,379 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {31557#true} {31557#true} #65#return; {31557#true} is VALID [2022-04-08 04:35:00,380 INFO L290 TraceCheckUtils]: 16: Hoare triple {31557#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {31610#(and (<= 1 main_~s~0) (= 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-08 04:35:00,380 INFO L290 TraceCheckUtils]: 17: Hoare triple {31610#(and (<= 1 main_~s~0) (= 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 !false; {31610#(and (<= 1 main_~s~0) (= 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-08 04:35:00,380 INFO L272 TraceCheckUtils]: 18: Hoare triple {31610#(and (<= 1 main_~s~0) (= 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)); {31557#true} is VALID [2022-04-08 04:35:00,380 INFO L290 TraceCheckUtils]: 19: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:00,380 INFO L290 TraceCheckUtils]: 20: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:00,380 INFO L290 TraceCheckUtils]: 21: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:00,381 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {31557#true} {31610#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #67#return; {31610#(and (<= 1 main_~s~0) (= 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-08 04:35:00,381 INFO L272 TraceCheckUtils]: 23: Hoare triple {31610#(and (<= 1 main_~s~0) (= 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)); {31557#true} is VALID [2022-04-08 04:35:00,381 INFO L290 TraceCheckUtils]: 24: Hoare triple {31557#true} ~cond := #in~cond; {31635#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:35:00,381 INFO L290 TraceCheckUtils]: 25: Hoare triple {31635#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:00,382 INFO L290 TraceCheckUtils]: 26: Hoare triple {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:00,382 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} {31610#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #69#return; {31610#(and (<= 1 main_~s~0) (= 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-08 04:35:00,382 INFO L272 TraceCheckUtils]: 28: Hoare triple {31610#(and (<= 1 main_~s~0) (= 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)); {31557#true} is VALID [2022-04-08 04:35:00,382 INFO L290 TraceCheckUtils]: 29: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:00,382 INFO L290 TraceCheckUtils]: 30: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:00,383 INFO L290 TraceCheckUtils]: 31: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:00,383 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {31557#true} {31610#(and (<= 1 main_~s~0) (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} #71#return; {31610#(and (<= 1 main_~s~0) (= 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-08 04:35:00,383 INFO L290 TraceCheckUtils]: 33: Hoare triple {31610#(and (<= 1 main_~s~0) (= 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); {31610#(and (<= 1 main_~s~0) (= 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-08 04:35:00,384 INFO L290 TraceCheckUtils]: 34: Hoare triple {31610#(and (<= 1 main_~s~0) (= 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; {31667#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~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-08 04:35:00,384 INFO L290 TraceCheckUtils]: 35: Hoare triple {31667#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~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 !false; {31667#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~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-08 04:35:00,384 INFO L272 TraceCheckUtils]: 36: Hoare triple {31667#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~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 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:00,384 INFO L290 TraceCheckUtils]: 37: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:00,384 INFO L290 TraceCheckUtils]: 38: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:00,385 INFO L290 TraceCheckUtils]: 39: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:00,385 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {31557#true} {31667#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #67#return; {31667#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~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-08 04:35:00,385 INFO L272 TraceCheckUtils]: 41: Hoare triple {31667#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~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 ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:00,385 INFO L290 TraceCheckUtils]: 42: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:00,385 INFO L290 TraceCheckUtils]: 43: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:00,385 INFO L290 TraceCheckUtils]: 44: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:00,386 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {31557#true} {31667#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #69#return; {31667#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~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-08 04:35:00,386 INFO L272 TraceCheckUtils]: 46: Hoare triple {31667#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~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)); {31557#true} is VALID [2022-04-08 04:35:00,386 INFO L290 TraceCheckUtils]: 47: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:00,386 INFO L290 TraceCheckUtils]: 48: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:00,386 INFO L290 TraceCheckUtils]: 49: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:00,387 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {31557#true} {31667#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~0 main_~x~0) (= (+ main_~x~0 (* (- 1) main_~b~0)) main_~a~0) (= main_~b~0 main_~y~0) (= main_~q~0 0))} #71#return; {31667#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~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-08 04:35:00,387 INFO L290 TraceCheckUtils]: 51: Hoare triple {31667#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~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); {31667#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~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-08 04:35:00,389 INFO L290 TraceCheckUtils]: 52: Hoare triple {31667#(and (<= 1 main_~s~0) (= (+ main_~s~0 main_~r~0) 0) (= (+ main_~q~0 main_~p~0) 1) (< main_~b~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);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {31722#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-08 04:35:00,389 INFO L290 TraceCheckUtils]: 53: Hoare triple {31722#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} assume !false; {31722#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-08 04:35:00,389 INFO L272 TraceCheckUtils]: 54: Hoare triple {31722#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:00,389 INFO L290 TraceCheckUtils]: 55: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:00,390 INFO L290 TraceCheckUtils]: 56: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:00,390 INFO L290 TraceCheckUtils]: 57: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:00,390 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {31557#true} {31722#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} #67#return; {31722#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-08 04:35:00,390 INFO L272 TraceCheckUtils]: 59: Hoare triple {31722#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:00,390 INFO L290 TraceCheckUtils]: 60: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:00,390 INFO L290 TraceCheckUtils]: 61: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:00,390 INFO L290 TraceCheckUtils]: 62: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:00,395 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {31557#true} {31722#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} #69#return; {31722#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-08 04:35:00,395 INFO L272 TraceCheckUtils]: 64: Hoare triple {31722#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:00,396 INFO L290 TraceCheckUtils]: 65: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:00,396 INFO L290 TraceCheckUtils]: 66: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:00,396 INFO L290 TraceCheckUtils]: 67: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:00,396 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {31557#true} {31722#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} #71#return; {31722#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-08 04:35:00,397 INFO L290 TraceCheckUtils]: 69: Hoare triple {31722#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} assume !!(~a~0 != ~b~0); {31722#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* main_~a~0 2))))} is VALID [2022-04-08 04:35:00,398 INFO L290 TraceCheckUtils]: 70: Hoare triple {31722#(and (<= (+ main_~r~0 1) 0) (= (+ (* (- 1) main_~p~0) 1) 0) (= main_~y~0 (+ (* (- 1) main_~a~0) main_~x~0)) (= main_~b~0 (+ main_~x~0 (* (- 2) main_~a~0))) (= main_~q~0 (+ (* (- 2) main_~p~0) 1)) (= (* (- 2) main_~r~0) main_~s~0) (< 0 main_~a~0) (not (< main_~x~0 (* 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; {31777#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} is VALID [2022-04-08 04:35:00,399 INFO L290 TraceCheckUtils]: 71: Hoare triple {31777#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} assume !false; {31777#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} is VALID [2022-04-08 04:35:00,399 INFO L272 TraceCheckUtils]: 72: Hoare triple {31777#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:00,399 INFO L290 TraceCheckUtils]: 73: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:00,399 INFO L290 TraceCheckUtils]: 74: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:00,399 INFO L290 TraceCheckUtils]: 75: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:00,400 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {31557#true} {31777#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} #67#return; {31777#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} is VALID [2022-04-08 04:35:00,400 INFO L272 TraceCheckUtils]: 77: Hoare triple {31777#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:00,400 INFO L290 TraceCheckUtils]: 78: Hoare triple {31557#true} ~cond := #in~cond; {31635#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:35:00,400 INFO L290 TraceCheckUtils]: 79: Hoare triple {31635#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:00,401 INFO L290 TraceCheckUtils]: 80: Hoare triple {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:00,402 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} {31777#(and (= (+ main_~x~0 (* (- 1) main_~b~0) (* (- 1) main_~y~0)) main_~a~0) (not (< (* main_~y~0 2) main_~x~0)) (= (+ (* (- 2) main_~s~0) (* (- 2) main_~r~0)) main_~s~0) (= main_~b~0 (+ (* (- 1) main_~x~0) (* main_~y~0 2))) (< main_~y~0 main_~x~0) (= (- 1) main_~q~0) (= main_~p~0 (+ (* (- 1) main_~q~0) 1)) (<= (+ main_~s~0 main_~r~0 1) 0))} #69#return; {31811#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-08 04:35:00,402 INFO L272 TraceCheckUtils]: 82: Hoare triple {31811#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:00,402 INFO L290 TraceCheckUtils]: 83: Hoare triple {31557#true} ~cond := #in~cond; {31635#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:35:00,402 INFO L290 TraceCheckUtils]: 84: Hoare triple {31635#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:00,402 INFO L290 TraceCheckUtils]: 85: Hoare triple {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:00,403 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} {31811#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} #71#return; {31811#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-08 04:35:00,404 INFO L290 TraceCheckUtils]: 87: Hoare triple {31811#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} assume !!(~a~0 != ~b~0); {31811#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-08 04:35:00,408 INFO L290 TraceCheckUtils]: 88: Hoare triple {31811#(and (= main_~x~0 (+ main_~b~0 main_~a~0 main_~y~0)) (= (+ main_~q~0 main_~p~0) 1) (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ main_~q~0 1) 0) (= (* main_~y~0 2) (+ main_~b~0 main_~x~0)) (= (+ (* main_~s~0 3) (* main_~r~0 2)) 0) (<= main_~x~0 (* main_~y~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; {31833#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-08 04:35:00,409 INFO L290 TraceCheckUtils]: 89: Hoare triple {31833#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} assume !false; {31833#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-08 04:35:00,409 INFO L272 TraceCheckUtils]: 90: Hoare triple {31833#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:00,409 INFO L290 TraceCheckUtils]: 91: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:00,409 INFO L290 TraceCheckUtils]: 92: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:00,409 INFO L290 TraceCheckUtils]: 93: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:00,410 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {31557#true} {31833#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} #67#return; {31833#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} is VALID [2022-04-08 04:35:00,414 INFO L272 TraceCheckUtils]: 95: Hoare triple {31833#(and (= (* main_~y~0 2) (+ (* (- 1) main_~a~0) (* main_~y~0 (div (* (- 2) main_~r~0) 5)) (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0))) (< main_~y~0 main_~x~0) (= (+ (- 2) main_~p~0) 1) (= main_~x~0 (+ (* (- 1) main_~a~0) (* (- 2) main_~x~0) main_~y~0 (* (* main_~y~0 (div (* (- 2) main_~r~0) 5)) 2) (* (* main_~y~0 main_~r~0) 2) (* 2 (* main_~p~0 main_~x~0)))) (= (mod (* main_~r~0 3) 5) 0) (<= main_~x~0 (* main_~y~0 2)))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31855#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:35:00,414 INFO L290 TraceCheckUtils]: 96: Hoare triple {31855#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {31859#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:35:00,414 INFO L290 TraceCheckUtils]: 97: Hoare triple {31859#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31558#false} is VALID [2022-04-08 04:35:00,414 INFO L290 TraceCheckUtils]: 98: Hoare triple {31558#false} assume !false; {31558#false} is VALID [2022-04-08 04:35:00,415 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 80 proven. 84 refuted. 0 times theorem prover too weak. 226 trivial. 0 not checked. [2022-04-08 04:35:00,415 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-08 04:35:30,902 INFO L290 TraceCheckUtils]: 98: Hoare triple {31558#false} assume !false; {31558#false} is VALID [2022-04-08 04:35:30,903 INFO L290 TraceCheckUtils]: 97: Hoare triple {31859#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31558#false} is VALID [2022-04-08 04:35:30,903 INFO L290 TraceCheckUtils]: 96: Hoare triple {31855#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {31859#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:35:30,904 INFO L272 TraceCheckUtils]: 95: Hoare triple {31875#(= 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)); {31855#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:35:30,904 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {31557#true} {31875#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {31875#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:35:30,904 INFO L290 TraceCheckUtils]: 93: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:30,904 INFO L290 TraceCheckUtils]: 92: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:30,904 INFO L290 TraceCheckUtils]: 91: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:30,905 INFO L272 TraceCheckUtils]: 90: Hoare triple {31875#(= 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)); {31557#true} is VALID [2022-04-08 04:35:30,907 INFO L290 TraceCheckUtils]: 89: Hoare triple {31875#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {31875#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:35:31,590 INFO L290 TraceCheckUtils]: 88: Hoare triple {31897#(= (+ 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; {31875#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-08 04:35:31,590 INFO L290 TraceCheckUtils]: 87: Hoare triple {31897#(= (+ 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); {31897#(= (+ 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-08 04:35:31,591 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} {31904#(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)))))} #71#return; {31897#(= (+ 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-08 04:35:31,591 INFO L290 TraceCheckUtils]: 85: Hoare triple {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:31,592 INFO L290 TraceCheckUtils]: 84: Hoare triple {31914#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:31,592 INFO L290 TraceCheckUtils]: 83: Hoare triple {31557#true} ~cond := #in~cond; {31914#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:35:31,592 INFO L272 TraceCheckUtils]: 82: Hoare triple {31904#(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)); {31557#true} is VALID [2022-04-08 04:35:31,594 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} {31557#true} #69#return; {31904#(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-08 04:35:31,594 INFO L290 TraceCheckUtils]: 80: Hoare triple {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:31,594 INFO L290 TraceCheckUtils]: 79: Hoare triple {31914#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {31639#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:31,595 INFO L290 TraceCheckUtils]: 78: Hoare triple {31557#true} ~cond := #in~cond; {31914#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-08 04:35:31,595 INFO L272 TraceCheckUtils]: 77: Hoare triple {31557#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:31,595 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {31557#true} {31557#true} #67#return; {31557#true} is VALID [2022-04-08 04:35:31,595 INFO L290 TraceCheckUtils]: 75: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:31,595 INFO L290 TraceCheckUtils]: 74: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:31,595 INFO L290 TraceCheckUtils]: 73: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:31,595 INFO L272 TraceCheckUtils]: 72: Hoare triple {31557#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:31,595 INFO L290 TraceCheckUtils]: 71: Hoare triple {31557#true} assume !false; {31557#true} is VALID [2022-04-08 04:35:31,595 INFO L290 TraceCheckUtils]: 70: Hoare triple {31557#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {31557#true} is VALID [2022-04-08 04:35:31,595 INFO L290 TraceCheckUtils]: 69: Hoare triple {31557#true} assume !!(~a~0 != ~b~0); {31557#true} is VALID [2022-04-08 04:35:31,595 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {31557#true} {31557#true} #71#return; {31557#true} is VALID [2022-04-08 04:35:31,595 INFO L290 TraceCheckUtils]: 67: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:31,595 INFO L290 TraceCheckUtils]: 66: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:31,595 INFO L290 TraceCheckUtils]: 65: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:31,595 INFO L272 TraceCheckUtils]: 64: Hoare triple {31557#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:31,595 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {31557#true} {31557#true} #69#return; {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L290 TraceCheckUtils]: 62: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L290 TraceCheckUtils]: 61: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L290 TraceCheckUtils]: 60: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L272 TraceCheckUtils]: 59: Hoare triple {31557#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {31557#true} {31557#true} #67#return; {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L290 TraceCheckUtils]: 57: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L290 TraceCheckUtils]: 56: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L290 TraceCheckUtils]: 55: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L272 TraceCheckUtils]: 54: Hoare triple {31557#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L290 TraceCheckUtils]: 53: Hoare triple {31557#true} assume !false; {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L290 TraceCheckUtils]: 52: Hoare triple {31557#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L290 TraceCheckUtils]: 51: Hoare triple {31557#true} assume !!(~a~0 != ~b~0); {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {31557#true} {31557#true} #71#return; {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L290 TraceCheckUtils]: 49: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L290 TraceCheckUtils]: 48: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L290 TraceCheckUtils]: 47: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L272 TraceCheckUtils]: 46: Hoare triple {31557#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {31557#true} {31557#true} #69#return; {31557#true} is VALID [2022-04-08 04:35:31,596 INFO L290 TraceCheckUtils]: 44: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L290 TraceCheckUtils]: 43: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L290 TraceCheckUtils]: 42: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L272 TraceCheckUtils]: 41: Hoare triple {31557#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {31557#true} {31557#true} #67#return; {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L290 TraceCheckUtils]: 39: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L290 TraceCheckUtils]: 38: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L290 TraceCheckUtils]: 37: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L272 TraceCheckUtils]: 36: Hoare triple {31557#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L290 TraceCheckUtils]: 35: Hoare triple {31557#true} assume !false; {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L290 TraceCheckUtils]: 34: Hoare triple {31557#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L290 TraceCheckUtils]: 33: Hoare triple {31557#true} assume !!(~a~0 != ~b~0); {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {31557#true} {31557#true} #71#return; {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L290 TraceCheckUtils]: 31: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L290 TraceCheckUtils]: 30: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L290 TraceCheckUtils]: 29: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L272 TraceCheckUtils]: 28: Hoare triple {31557#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {31557#true} {31557#true} #69#return; {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L290 TraceCheckUtils]: 26: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L290 TraceCheckUtils]: 25: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:31,597 INFO L290 TraceCheckUtils]: 24: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L272 TraceCheckUtils]: 23: Hoare triple {31557#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {31557#true} {31557#true} #67#return; {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L290 TraceCheckUtils]: 21: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L290 TraceCheckUtils]: 20: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L290 TraceCheckUtils]: 19: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L272 TraceCheckUtils]: 18: Hoare triple {31557#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L290 TraceCheckUtils]: 17: Hoare triple {31557#true} assume !false; {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L290 TraceCheckUtils]: 16: Hoare triple {31557#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {31557#true} {31557#true} #65#return; {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L290 TraceCheckUtils]: 14: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L290 TraceCheckUtils]: 13: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L290 TraceCheckUtils]: 12: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L272 TraceCheckUtils]: 11: Hoare triple {31557#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31557#true} {31557#true} #63#return; {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L290 TraceCheckUtils]: 9: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L290 TraceCheckUtils]: 8: Hoare triple {31557#true} assume !(0 == ~cond); {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L290 TraceCheckUtils]: 7: Hoare triple {31557#true} ~cond := #in~cond; {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L272 TraceCheckUtils]: 6: Hoare triple {31557#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31557#true} is VALID [2022-04-08 04:35:31,598 INFO L290 TraceCheckUtils]: 5: Hoare triple {31557#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; {31557#true} is VALID [2022-04-08 04:35:31,599 INFO L272 TraceCheckUtils]: 4: Hoare triple {31557#true} call #t~ret6 := main(); {31557#true} is VALID [2022-04-08 04:35:31,599 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31557#true} {31557#true} #81#return; {31557#true} is VALID [2022-04-08 04:35:31,599 INFO L290 TraceCheckUtils]: 2: Hoare triple {31557#true} assume true; {31557#true} is VALID [2022-04-08 04:35:31,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {31557#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); {31557#true} is VALID [2022-04-08 04:35:31,599 INFO L272 TraceCheckUtils]: 0: Hoare triple {31557#true} call ULTIMATE.init(); {31557#true} is VALID [2022-04-08 04:35:31,599 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 105 proven. 8 refuted. 0 times theorem prover too weak. 277 trivial. 0 not checked. [2022-04-08 04:35:31,599 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-08 04:35:31,599 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [305861522] [2022-04-08 04:35:31,599 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-08 04:35:31,599 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1574203171] [2022-04-08 04:35:31,599 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1574203171] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-08 04:35:31,599 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-08 04:35:31,600 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-08 04:35:31,600 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-08 04:35:31,600 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [563106629] [2022-04-08 04:35:31,600 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [563106629] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-08 04:35:31,600 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-08 04:35:31,600 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-08 04:35:31,600 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [663559220] [2022-04-08 04:35:31,600 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-08 04:35:31,600 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 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 99 [2022-04-08 04:35:31,600 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-08 04:35:31,601 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 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-08 04:35:31,679 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:35:31,679 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-08 04:35:31,679 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-08 04:35:31,679 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-08 04:35:31,679 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=194, Unknown=0, NotChecked=0, Total=240 [2022-04-08 04:35:31,679 INFO L87 Difference]: Start difference. First operand 296 states and 340 transitions. Second operand has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 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-08 04:35:40,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:35:40,295 INFO L93 Difference]: Finished difference Result 336 states and 392 transitions. [2022-04-08 04:35:40,295 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-08 04:35:40,295 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 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 99 [2022-04-08 04:35:40,295 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-08 04:35:40,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 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-08 04:35:40,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-08 04:35:40,296 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 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-08 04:35:40,297 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-08 04:35:40,297 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 100 transitions. [2022-04-08 04:35:40,467 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-08 04:35:40,473 INFO L225 Difference]: With dead ends: 336 [2022-04-08 04:35:40,473 INFO L226 Difference]: Without dead ends: 334 [2022-04-08 04:35:40,473 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 199 GetRequests, 181 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=59, Invalid=247, Unknown=0, NotChecked=0, Total=306 [2022-04-08 04:35:40,473 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 13 mSDsluCounter, 198 mSDsCounter, 0 mSdLazyCounter, 690 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 18 SdHoareTripleChecker+Valid, 245 SdHoareTripleChecker+Invalid, 697 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 690 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.8s IncrementalHoareTripleChecker+Time [2022-04-08 04:35:40,474 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [18 Valid, 245 Invalid, 697 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 690 Invalid, 0 Unknown, 0 Unchecked, 2.8s Time] [2022-04-08 04:35:40,474 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 334 states. [2022-04-08 04:35:40,874 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 334 to 298. [2022-04-08 04:35:40,874 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-08 04:35:40,874 INFO L82 GeneralOperation]: Start isEquivalent. First operand 334 states. Second operand has 298 states, 186 states have (on average 1.1129032258064515) internal successors, (207), 191 states have internal predecessors, (207), 69 states have call successors, (69), 43 states have call predecessors, (69), 42 states have return successors, (67), 63 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-08 04:35:40,875 INFO L74 IsIncluded]: Start isIncluded. First operand 334 states. Second operand has 298 states, 186 states have (on average 1.1129032258064515) internal successors, (207), 191 states have internal predecessors, (207), 69 states have call successors, (69), 43 states have call predecessors, (69), 42 states have return successors, (67), 63 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-08 04:35:40,875 INFO L87 Difference]: Start difference. First operand 334 states. Second operand has 298 states, 186 states have (on average 1.1129032258064515) internal successors, (207), 191 states have internal predecessors, (207), 69 states have call successors, (69), 43 states have call predecessors, (69), 42 states have return successors, (67), 63 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-08 04:35:40,880 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:35:40,880 INFO L93 Difference]: Finished difference Result 334 states and 390 transitions. [2022-04-08 04:35:40,880 INFO L276 IsEmpty]: Start isEmpty. Operand 334 states and 390 transitions. [2022-04-08 04:35:40,880 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:35:40,880 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:35:40,881 INFO L74 IsIncluded]: Start isIncluded. First operand has 298 states, 186 states have (on average 1.1129032258064515) internal successors, (207), 191 states have internal predecessors, (207), 69 states have call successors, (69), 43 states have call predecessors, (69), 42 states have return successors, (67), 63 states have call predecessors, (67), 67 states have call successors, (67) Second operand 334 states. [2022-04-08 04:35:40,881 INFO L87 Difference]: Start difference. First operand has 298 states, 186 states have (on average 1.1129032258064515) internal successors, (207), 191 states have internal predecessors, (207), 69 states have call successors, (69), 43 states have call predecessors, (69), 42 states have return successors, (67), 63 states have call predecessors, (67), 67 states have call successors, (67) Second operand 334 states. [2022-04-08 04:35:40,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-08 04:35:40,890 INFO L93 Difference]: Finished difference Result 334 states and 390 transitions. [2022-04-08 04:35:40,890 INFO L276 IsEmpty]: Start isEmpty. Operand 334 states and 390 transitions. [2022-04-08 04:35:40,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-08 04:35:40,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-08 04:35:40,891 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-08 04:35:40,891 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-08 04:35:40,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 298 states, 186 states have (on average 1.1129032258064515) internal successors, (207), 191 states have internal predecessors, (207), 69 states have call successors, (69), 43 states have call predecessors, (69), 42 states have return successors, (67), 63 states have call predecessors, (67), 67 states have call successors, (67) [2022-04-08 04:35:40,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 298 states to 298 states and 343 transitions. [2022-04-08 04:35:40,896 INFO L78 Accepts]: Start accepts. Automaton has 298 states and 343 transitions. Word has length 99 [2022-04-08 04:35:40,897 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-08 04:35:40,897 INFO L478 AbstractCegarLoop]: Abstraction has 298 states and 343 transitions. [2022-04-08 04:35:40,897 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 2.4166666666666665) internal successors, (29), 11 states have internal predecessors, (29), 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-08 04:35:40,897 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 298 states and 343 transitions. [2022-04-08 04:35:42,500 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 343 edges. 343 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-08 04:35:42,500 INFO L276 IsEmpty]: Start isEmpty. Operand 298 states and 343 transitions. [2022-04-08 04:35:42,501 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-08 04:35:42,501 INFO L491 BasicCegarLoop]: Found error trace [2022-04-08 04:35:42,501 INFO L499 BasicCegarLoop]: trace histogram [14, 13, 13, 5, 5, 5, 5, 4, 4, 4, 4, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-08 04:35:42,517 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Forceful destruction successful, exit code 0 [2022-04-08 04:35:42,715 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,24 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:35:42,715 INFO L403 AbstractCegarLoop]: === Iteration 25 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-08 04:35:42,716 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-08 04:35:42,716 INFO L85 PathProgramCache]: Analyzing trace with hash 1429965347, now seen corresponding path program 23 times [2022-04-08 04:35:42,716 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-08 04:35:42,716 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1121905404] [2022-04-08 04:35:42,716 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-08 04:35:42,717 INFO L85 PathProgramCache]: Analyzing trace with hash 1429965347, now seen corresponding path program 24 times [2022-04-08 04:35:42,717 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-08 04:35:42,717 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [561451850] [2022-04-08 04:35:42,717 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-08 04:35:42,717 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-08 04:35:42,726 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-08 04:35:42,726 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1059195419] [2022-04-08 04:35:42,726 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-08 04:35:42,727 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-08 04:35:42,727 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-08 04:35:42,727 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-08 04:35:42,728 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-08 04:35:43,383 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-08 04:35:43,383 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-08 04:35:43,386 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 52 conjunts are in the unsatisfiable core [2022-04-08 04:35:43,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-08 04:35:43,413 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-08 04:35:52,992 INFO L272 TraceCheckUtils]: 0: Hoare triple {34106#true} call ULTIMATE.init(); {34106#true} is VALID [2022-04-08 04:35:52,993 INFO L290 TraceCheckUtils]: 1: Hoare triple {34106#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); {34106#true} is VALID [2022-04-08 04:35:52,993 INFO L290 TraceCheckUtils]: 2: Hoare triple {34106#true} assume true; {34106#true} is VALID [2022-04-08 04:35:52,993 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34106#true} {34106#true} #81#return; {34106#true} is VALID [2022-04-08 04:35:52,993 INFO L272 TraceCheckUtils]: 4: Hoare triple {34106#true} call #t~ret6 := main(); {34106#true} is VALID [2022-04-08 04:35:52,993 INFO L290 TraceCheckUtils]: 5: Hoare triple {34106#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; {34106#true} is VALID [2022-04-08 04:35:52,993 INFO L272 TraceCheckUtils]: 6: Hoare triple {34106#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {34106#true} is VALID [2022-04-08 04:35:52,993 INFO L290 TraceCheckUtils]: 7: Hoare triple {34106#true} ~cond := #in~cond; {34106#true} is VALID [2022-04-08 04:35:52,993 INFO L290 TraceCheckUtils]: 8: Hoare triple {34106#true} assume !(0 == ~cond); {34106#true} is VALID [2022-04-08 04:35:52,993 INFO L290 TraceCheckUtils]: 9: Hoare triple {34106#true} assume true; {34106#true} is VALID [2022-04-08 04:35:52,993 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {34106#true} {34106#true} #63#return; {34106#true} is VALID [2022-04-08 04:35:52,993 INFO L272 TraceCheckUtils]: 11: Hoare triple {34106#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {34106#true} is VALID [2022-04-08 04:35:52,993 INFO L290 TraceCheckUtils]: 12: Hoare triple {34106#true} ~cond := #in~cond; {34147#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-08 04:35:52,994 INFO L290 TraceCheckUtils]: 13: Hoare triple {34147#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {34151#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:35:52,994 INFO L290 TraceCheckUtils]: 14: Hoare triple {34151#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {34151#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-08 04:35:52,994 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {34151#(not (= |assume_abort_if_not_#in~cond| 0))} {34106#true} #65#return; {34158#(<= 1 main_~y~0)} is VALID [2022-04-08 04:35:52,995 INFO L290 TraceCheckUtils]: 16: Hoare triple {34158#(<= 1 main_~y~0)} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {34162#(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-08 04:35:52,995 INFO L290 TraceCheckUtils]: 17: Hoare triple {34162#(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 !false; {34162#(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-08 04:35:52,995 INFO L272 TraceCheckUtils]: 18: Hoare triple {34162#(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)); {34106#true} is VALID [2022-04-08 04:35:52,995 INFO L290 TraceCheckUtils]: 19: Hoare triple {34106#true} ~cond := #in~cond; {34106#true} is VALID [2022-04-08 04:35:52,995 INFO L290 TraceCheckUtils]: 20: Hoare triple {34106#true} assume !(0 == ~cond); {34106#true} is VALID [2022-04-08 04:35:52,995 INFO L290 TraceCheckUtils]: 21: Hoare triple {34106#true} assume true; {34106#true} is VALID [2022-04-08 04:35:52,996 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {34106#true} {34162#(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))} #67#return; {34162#(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-08 04:35:52,996 INFO L272 TraceCheckUtils]: 23: Hoare triple {34162#(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)); {34106#true} is VALID [2022-04-08 04:35:52,996 INFO L290 TraceCheckUtils]: 24: Hoare triple {34106#true} ~cond := #in~cond; {34106#true} is VALID [2022-04-08 04:35:52,996 INFO L290 TraceCheckUtils]: 25: Hoare triple {34106#true} assume !(0 == ~cond); {34106#true} is VALID [2022-04-08 04:35:52,996 INFO L290 TraceCheckUtils]: 26: Hoare triple {34106#true} assume true; {34106#true} is VALID [2022-04-08 04:35:52,997 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {34106#true} {34162#(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))} #69#return; {34162#(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-08 04:35:52,997 INFO L272 TraceCheckUtils]: 28: Hoare triple {34162#(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)); {34106#true} is VALID [2022-04-08 04:35:52,997 INFO L290 TraceCheckUtils]: 29: Hoare triple {34106#true} ~cond := #in~cond; {34106#true} is VALID [2022-04-08 04:35:52,997 INFO L290 TraceCheckUtils]: 30: Hoare triple {34106#true} assume !(0 == ~cond); {34106#true} is VALID [2022-04-08 04:35:52,997 INFO L290 TraceCheckUtils]: 31: Hoare triple {34106#true} assume true; {34106#true} is VALID [2022-04-08 04:35:52,997 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {34106#true} {34162#(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))} #71#return; {34162#(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-08 04:35:52,998 INFO L290 TraceCheckUtils]: 33: Hoare triple {34162#(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); {34162#(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-08 04:35:52,999 INFO L290 TraceCheckUtils]: 34: Hoare triple {34162#(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; {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:52,999 INFO L290 TraceCheckUtils]: 35: Hoare triple {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !false; {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:52,999 INFO L272 TraceCheckUtils]: 36: Hoare triple {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34106#true} is VALID [2022-04-08 04:35:52,999 INFO L290 TraceCheckUtils]: 37: Hoare triple {34106#true} ~cond := #in~cond; {34106#true} is VALID [2022-04-08 04:35:52,999 INFO L290 TraceCheckUtils]: 38: Hoare triple {34106#true} assume !(0 == ~cond); {34106#true} is VALID [2022-04-08 04:35:52,999 INFO L290 TraceCheckUtils]: 39: Hoare triple {34106#true} assume true; {34106#true} is VALID [2022-04-08 04:35:53,000 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {34106#true} {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #67#return; {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,000 INFO L272 TraceCheckUtils]: 41: Hoare triple {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34106#true} is VALID [2022-04-08 04:35:53,000 INFO L290 TraceCheckUtils]: 42: Hoare triple {34106#true} ~cond := #in~cond; {34106#true} is VALID [2022-04-08 04:35:53,000 INFO L290 TraceCheckUtils]: 43: Hoare triple {34106#true} assume !(0 == ~cond); {34106#true} is VALID [2022-04-08 04:35:53,000 INFO L290 TraceCheckUtils]: 44: Hoare triple {34106#true} assume true; {34106#true} is VALID [2022-04-08 04:35:53,000 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {34106#true} {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #69#return; {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,000 INFO L272 TraceCheckUtils]: 46: Hoare triple {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34106#true} is VALID [2022-04-08 04:35:53,001 INFO L290 TraceCheckUtils]: 47: Hoare triple {34106#true} ~cond := #in~cond; {34106#true} is VALID [2022-04-08 04:35:53,001 INFO L290 TraceCheckUtils]: 48: Hoare triple {34106#true} assume !(0 == ~cond); {34106#true} is VALID [2022-04-08 04:35:53,001 INFO L290 TraceCheckUtils]: 49: Hoare triple {34106#true} assume true; {34106#true} is VALID [2022-04-08 04:35:53,001 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {34106#true} {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #71#return; {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,002 INFO L290 TraceCheckUtils]: 51: Hoare triple {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,002 INFO L290 TraceCheckUtils]: 52: Hoare triple {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,002 INFO L290 TraceCheckUtils]: 53: Hoare triple {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !false; {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,002 INFO L272 TraceCheckUtils]: 54: Hoare triple {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34106#true} is VALID [2022-04-08 04:35:53,002 INFO L290 TraceCheckUtils]: 55: Hoare triple {34106#true} ~cond := #in~cond; {34106#true} is VALID [2022-04-08 04:35:53,003 INFO L290 TraceCheckUtils]: 56: Hoare triple {34106#true} assume !(0 == ~cond); {34106#true} is VALID [2022-04-08 04:35:53,003 INFO L290 TraceCheckUtils]: 57: Hoare triple {34106#true} assume true; {34106#true} is VALID [2022-04-08 04:35:53,003 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {34106#true} {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #67#return; {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,003 INFO L272 TraceCheckUtils]: 59: Hoare triple {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34106#true} is VALID [2022-04-08 04:35:53,003 INFO L290 TraceCheckUtils]: 60: Hoare triple {34106#true} ~cond := #in~cond; {34106#true} is VALID [2022-04-08 04:35:53,003 INFO L290 TraceCheckUtils]: 61: Hoare triple {34106#true} assume !(0 == ~cond); {34106#true} is VALID [2022-04-08 04:35:53,003 INFO L290 TraceCheckUtils]: 62: Hoare triple {34106#true} assume true; {34106#true} is VALID [2022-04-08 04:35:53,004 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {34106#true} {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #69#return; {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,004 INFO L272 TraceCheckUtils]: 64: Hoare triple {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34106#true} is VALID [2022-04-08 04:35:53,004 INFO L290 TraceCheckUtils]: 65: Hoare triple {34106#true} ~cond := #in~cond; {34106#true} is VALID [2022-04-08 04:35:53,004 INFO L290 TraceCheckUtils]: 66: Hoare triple {34106#true} assume !(0 == ~cond); {34106#true} is VALID [2022-04-08 04:35:53,004 INFO L290 TraceCheckUtils]: 67: Hoare triple {34106#true} assume true; {34106#true} is VALID [2022-04-08 04:35:53,004 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {34106#true} {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #71#return; {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,005 INFO L290 TraceCheckUtils]: 69: Hoare triple {34217#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {34323#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0) (not (= main_~b~0 main_~a~0)))} is VALID [2022-04-08 04:35:53,006 INFO L290 TraceCheckUtils]: 70: Hoare triple {34323#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0) (not (= 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; {34327#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,006 INFO L290 TraceCheckUtils]: 71: Hoare triple {34327#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !false; {34327#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,006 INFO L272 TraceCheckUtils]: 72: Hoare triple {34327#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34106#true} is VALID [2022-04-08 04:35:53,006 INFO L290 TraceCheckUtils]: 73: Hoare triple {34106#true} ~cond := #in~cond; {34106#true} is VALID [2022-04-08 04:35:53,006 INFO L290 TraceCheckUtils]: 74: Hoare triple {34106#true} assume !(0 == ~cond); {34106#true} is VALID [2022-04-08 04:35:53,006 INFO L290 TraceCheckUtils]: 75: Hoare triple {34106#true} assume true; {34106#true} is VALID [2022-04-08 04:35:53,007 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {34106#true} {34327#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #67#return; {34327#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,007 INFO L272 TraceCheckUtils]: 77: Hoare triple {34327#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34106#true} is VALID [2022-04-08 04:35:53,007 INFO L290 TraceCheckUtils]: 78: Hoare triple {34106#true} ~cond := #in~cond; {34106#true} is VALID [2022-04-08 04:35:53,007 INFO L290 TraceCheckUtils]: 79: Hoare triple {34106#true} assume !(0 == ~cond); {34106#true} is VALID [2022-04-08 04:35:53,007 INFO L290 TraceCheckUtils]: 80: Hoare triple {34106#true} assume true; {34106#true} is VALID [2022-04-08 04:35:53,008 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {34106#true} {34327#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #69#return; {34327#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,008 INFO L272 TraceCheckUtils]: 82: Hoare triple {34327#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {34106#true} is VALID [2022-04-08 04:35:53,008 INFO L290 TraceCheckUtils]: 83: Hoare triple {34106#true} ~cond := #in~cond; {34367#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:35:53,008 INFO L290 TraceCheckUtils]: 84: Hoare triple {34367#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {34371#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:53,009 INFO L290 TraceCheckUtils]: 85: Hoare triple {34371#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {34371#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:53,009 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {34371#(not (= |__VERIFIER_assert_#in~cond| 0))} {34327#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} #71#return; {34378#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,010 INFO L290 TraceCheckUtils]: 87: Hoare triple {34378#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} assume !!(~a~0 != ~b~0); {34378#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,012 INFO L290 TraceCheckUtils]: 88: Hoare triple {34378#(and (= (+ (* (- 1) main_~p~0) 1) 0) (= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0))) (not (= main_~a~0 (+ main_~b~0 main_~a~0))) (not (< main_~b~0 0)) (= (- 1) main_~r~0) (< 0 main_~a~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; {34385#(and (not (= (+ main_~a~0 main_~y~0) main_~x~0)) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,012 INFO L290 TraceCheckUtils]: 89: Hoare triple {34385#(and (not (= (+ main_~a~0 main_~y~0) main_~x~0)) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} assume !false; {34385#(and (not (= (+ main_~a~0 main_~y~0) main_~x~0)) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} is VALID [2022-04-08 04:35:53,012 INFO L272 TraceCheckUtils]: 90: Hoare triple {34385#(and (not (= (+ main_~a~0 main_~y~0) main_~x~0)) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {34106#true} is VALID [2022-04-08 04:35:53,012 INFO L290 TraceCheckUtils]: 91: Hoare triple {34106#true} ~cond := #in~cond; {34367#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:35:53,013 INFO L290 TraceCheckUtils]: 92: Hoare triple {34367#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {34371#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:53,013 INFO L290 TraceCheckUtils]: 93: Hoare triple {34371#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {34371#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-08 04:35:53,017 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {34371#(not (= |__VERIFIER_assert_#in~cond| 0))} {34385#(and (not (= (+ main_~a~0 main_~y~0) main_~x~0)) (= (+ (* main_~q~0 main_~x~0) main_~a~0 main_~y~0 (* main_~y~0 main_~s~0)) main_~x~0) (<= (+ main_~a~0 main_~y~0) main_~x~0) (= (+ main_~q~0 main_~p~0) 1) (< 0 main_~a~0) (= (+ main_~s~0 main_~r~0 1) 0) (<= 1 main_~y~0))} #67#return; {34404#(and (not (= (+ main_~a~0 main_~y~0) main_~x~0)) (<= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~x~0 (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* main_~y~0 (+ (- 1) (* (- 1) main_~r~0))) main_~a~0 main_~y~0)) (< 0 main_~a~0) (<= 1 main_~y~0) (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1) (* main_~p~0 (+ (- 1) (* (- 1) main_~r~0)))))} is VALID [2022-04-08 04:35:53,018 INFO L272 TraceCheckUtils]: 95: Hoare triple {34404#(and (not (= (+ main_~a~0 main_~y~0) main_~x~0)) (<= (+ main_~a~0 main_~y~0) main_~x~0) (= main_~x~0 (+ (* (+ (* (- 1) main_~p~0) 1) main_~x~0) (* main_~y~0 (+ (- 1) (* (- 1) main_~r~0))) main_~a~0 main_~y~0)) (< 0 main_~a~0) (<= 1 main_~y~0) (= (+ (* (+ (* (- 1) main_~p~0) 1) main_~r~0) 1) (* main_~p~0 (+ (- 1) (* (- 1) main_~r~0)))))} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {34408#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-08 04:35:53,019 INFO L290 TraceCheckUtils]: 96: Hoare triple {34408#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {34412#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-08 04:35:53,019 INFO L290 TraceCheckUtils]: 97: Hoare triple {34412#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {34107#false} is VALID [2022-04-08 04:35:53,019 INFO L290 TraceCheckUtils]: 98: Hoare triple {34107#false} assume !false; {34107#false} is VALID [2022-04-08 04:35:53,019 INFO L134 CoverageAnalysis]: Checked inductivity of 390 backedges. 105 proven. 33 refuted. 0 times theorem prover too weak. 252 trivial. 0 not checked. [2022-04-08 04:35:53,019 INFO L328 TraceCheckSpWp]: Computing backward predicates...