/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-e106359-m [2022-04-15 07:15:53,541 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-15 07:15:53,543 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-15 07:15:53,577 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-15 07:15:53,578 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-15 07:15:53,579 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-15 07:15:53,581 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-15 07:15:53,583 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-15 07:15:53,584 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-15 07:15:53,587 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-15 07:15:53,588 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-15 07:15:53,589 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-15 07:15:53,589 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-15 07:15:53,590 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-15 07:15:53,591 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-15 07:15:53,594 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-15 07:15:53,594 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-15 07:15:53,595 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-15 07:15:53,596 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-15 07:15:53,600 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-15 07:15:53,601 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-15 07:15:53,602 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-15 07:15:53,602 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-15 07:15:53,603 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-15 07:15:53,604 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-15 07:15:53,609 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-15 07:15:53,609 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-15 07:15:53,609 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-15 07:15:53,609 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-15 07:15:53,610 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-15 07:15:53,611 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-15 07:15:53,611 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-15 07:15:53,612 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-15 07:15:53,612 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-15 07:15:53,613 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-15 07:15:53,613 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-15 07:15:53,613 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-15 07:15:53,614 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-15 07:15:53,614 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-15 07:15:53,614 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-15 07:15:53,614 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-15 07:15:53,616 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-15 07:15:53,616 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-15 07:15:53,624 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-15 07:15:53,625 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-15 07:15:53,625 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-15 07:15:53,625 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-15 07:15:53,625 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-15 07:15:53,626 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-15 07:15:53,626 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-15 07:15:53,626 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-15 07:15:53,626 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-15 07:15:53,626 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-15 07:15:53,627 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-15 07:15:53,627 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-15 07:15:53,627 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-15 07:15:53,627 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-15 07:15:53,627 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-15 07:15:53,627 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-15 07:15:53,627 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-15 07:15:53,627 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-15 07:15:53,628 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 07:15:53,628 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-15 07:15:53,628 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-15 07:15:53,628 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-15 07:15:53,628 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-15 07:15:53,628 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-15 07:15:53,628 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-15 07:15:53,628 INFO L138 SettingsManager]: * Use separate solver for trace checks=false WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-15 07:15:53,805 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-15 07:15:53,824 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-15 07:15:53,825 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-15 07:15:53,826 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-15 07:15:53,826 INFO L275 PluginConnector]: CDTParser initialized [2022-04-15 07:15:53,827 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-15 07:15:53,885 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a6a77b445/094a7217f22d4684a039c9668ff27a67/FLAG40c224013 [2022-04-15 07:15:54,233 INFO L306 CDTParser]: Found 1 translation units. [2022-04-15 07:15:54,234 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/nla-digbench/egcd-ll.c [2022-04-15 07:15:54,238 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a6a77b445/094a7217f22d4684a039c9668ff27a67/FLAG40c224013 [2022-04-15 07:15:54,247 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/a6a77b445/094a7217f22d4684a039c9668ff27a67 [2022-04-15 07:15:54,249 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-15 07:15:54,250 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-15 07:15:54,253 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-15 07:15:54,253 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-15 07:15:54,256 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-15 07:15:54,257 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 07:15:54" (1/1) ... [2022-04-15 07:15:54,257 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@63fbd4fe and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:15:54, skipping insertion in model container [2022-04-15 07:15:54,258 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.04 07:15:54" (1/1) ... [2022-04-15 07:15:54,262 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-15 07:15:54,273 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-15 07:15:54,393 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-15 07:15:54,405 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 07:15:54,411 INFO L203 MainTranslator]: Completed pre-run [2022-04-15 07:15:54,425 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-15 07:15:54,431 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-15 07:15:54,440 INFO L208 MainTranslator]: Completed translation [2022-04-15 07:15:54,441 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:15:54 WrapperNode [2022-04-15 07:15:54,441 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-15 07:15:54,441 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-15 07:15:54,441 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-15 07:15:54,442 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-15 07:15:54,448 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:15:54" (1/1) ... [2022-04-15 07:15:54,448 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:15:54" (1/1) ... [2022-04-15 07:15:54,454 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:15:54" (1/1) ... [2022-04-15 07:15:54,454 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:15:54" (1/1) ... [2022-04-15 07:15:54,458 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:15:54" (1/1) ... [2022-04-15 07:15:54,461 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:15:54" (1/1) ... [2022-04-15 07:15:54,462 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:15:54" (1/1) ... [2022-04-15 07:15:54,466 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-15 07:15:54,467 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-15 07:15:54,467 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-15 07:15:54,467 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-15 07:15:54,468 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:15:54" (1/1) ... [2022-04-15 07:15:54,472 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-15 07:15:54,479 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:15:54,489 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2022-04-15 07:15:54,511 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2022-04-15 07:15:54,521 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-15 07:15:54,522 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-15 07:15:54,522 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-15 07:15:54,522 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-15 07:15:54,522 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-15 07:15:54,522 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-15 07:15:54,522 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-15 07:15:54,522 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-15 07:15:54,523 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-15 07:15:54,523 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-15 07:15:54,523 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-15 07:15:54,523 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-15 07:15:54,525 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-15 07:15:54,525 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-15 07:15:54,525 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-15 07:15:54,525 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-15 07:15:54,525 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-15 07:15:54,525 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-15 07:15:54,525 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-15 07:15:54,525 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-15 07:15:54,574 INFO L234 CfgBuilder]: Building ICFG [2022-04-15 07:15:54,575 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-15 07:15:54,697 INFO L275 CfgBuilder]: Performing block encoding [2022-04-15 07:15:54,702 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-15 07:15:54,703 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-04-15 07:15:54,704 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 07:15:54 BoogieIcfgContainer [2022-04-15 07:15:54,704 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-15 07:15:54,705 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-15 07:15:54,705 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-15 07:15:54,708 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-15 07:15:54,708 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.04 07:15:54" (1/3) ... [2022-04-15 07:15:54,709 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6779fc5f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 07:15:54, skipping insertion in model container [2022-04-15 07:15:54,709 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.04 07:15:54" (2/3) ... [2022-04-15 07:15:54,709 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6779fc5f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.04 07:15:54, skipping insertion in model container [2022-04-15 07:15:54,709 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.04 07:15:54" (3/3) ... [2022-04-15 07:15:54,710 INFO L111 eAbstractionObserver]: Analyzing ICFG egcd-ll.c [2022-04-15 07:15:54,713 INFO L202 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-15 07:15:54,713 INFO L161 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-15 07:15:54,741 INFO L339 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-15 07:15:54,754 INFO L340 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP [2022-04-15 07:15:54,754 INFO L341 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-15 07:15:54,767 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-15 07:15:54,784 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-15 07:15:54,785 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:15:54,785 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:15:54,785 INFO L403 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:15:54,789 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:15:54,789 INFO L85 PathProgramCache]: Analyzing trace with hash -2012836591, now seen corresponding path program 1 times [2022-04-15 07:15:54,794 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:15:54,795 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [279453762] [2022-04-15 07:15:54,802 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:15:54,802 INFO L85 PathProgramCache]: Analyzing trace with hash -2012836591, now seen corresponding path program 2 times [2022-04-15 07:15:54,806 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:15:54,806 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [732140201] [2022-04-15 07:15:54,806 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:15:54,807 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:15:54,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:15:54,938 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-15 07:15:54,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:15:54,960 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-15 07:15:54,960 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 07:15:54,960 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {37#true} {37#true} #81#return; {37#true} is VALID [2022-04-15 07:15:54,961 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-15 07:15:54,963 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:15:54,968 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 07:15:54,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 07:15:54,969 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 07:15:54,969 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {37#true} #63#return; {38#false} is VALID [2022-04-15 07:15:54,971 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-15 07:15:54,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:15:54,986 INFO L290 TraceCheckUtils]: 0: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 07:15:54,987 INFO L290 TraceCheckUtils]: 1: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 07:15:54,987 INFO L290 TraceCheckUtils]: 2: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 07:15:54,987 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {38#false} {38#false} #65#return; {38#false} is VALID [2022-04-15 07:15:54,988 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-15 07:15:54,988 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-15 07:15:54,988 INFO L290 TraceCheckUtils]: 2: Hoare triple {37#true} assume true; {37#true} is VALID [2022-04-15 07:15:54,988 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {37#true} {37#true} #81#return; {37#true} is VALID [2022-04-15 07:15:54,989 INFO L272 TraceCheckUtils]: 4: Hoare triple {37#true} call #t~ret6 := main(); {37#true} is VALID [2022-04-15 07:15:54,989 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-15 07:15:54,989 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-15 07:15:54,989 INFO L290 TraceCheckUtils]: 7: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 07:15:54,989 INFO L290 TraceCheckUtils]: 8: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 07:15:54,990 INFO L290 TraceCheckUtils]: 9: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 07:15:54,990 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {38#false} {37#true} #63#return; {38#false} is VALID [2022-04-15 07:15:54,990 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-15 07:15:54,990 INFO L290 TraceCheckUtils]: 12: Hoare triple {37#true} ~cond := #in~cond; {37#true} is VALID [2022-04-15 07:15:54,992 INFO L290 TraceCheckUtils]: 13: Hoare triple {37#true} assume 0 == ~cond;assume false; {38#false} is VALID [2022-04-15 07:15:54,992 INFO L290 TraceCheckUtils]: 14: Hoare triple {38#false} assume true; {38#false} is VALID [2022-04-15 07:15:54,992 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {38#false} {38#false} #65#return; {38#false} is VALID [2022-04-15 07:15:54,992 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-15 07:15:54,993 INFO L290 TraceCheckUtils]: 17: Hoare triple {38#false} assume false; {38#false} is VALID [2022-04-15 07:15:54,993 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-15 07:15:54,993 INFO L290 TraceCheckUtils]: 19: Hoare triple {38#false} ~cond := #in~cond; {38#false} is VALID [2022-04-15 07:15:54,993 INFO L290 TraceCheckUtils]: 20: Hoare triple {38#false} assume 0 == ~cond; {38#false} is VALID [2022-04-15 07:15:54,993 INFO L290 TraceCheckUtils]: 21: Hoare triple {38#false} assume !false; {38#false} is VALID [2022-04-15 07:15:54,993 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 07:15:54,994 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:15:54,994 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [732140201] [2022-04-15 07:15:54,995 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [732140201] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:15:54,995 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:15:54,995 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 07:15:54,997 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:15:54,997 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [279453762] [2022-04-15 07:15:54,997 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [279453762] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:15:54,997 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:15:54,997 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-15 07:15:54,997 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1215981021] [2022-04-15 07:15:54,998 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:15:55,005 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-15 07:15:55,006 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:15:55,008 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 07:15:55,041 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:15:55,041 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-15 07:15:55,042 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:15:55,065 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-15 07:15:55,066 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 07:15:55,068 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-15 07:15:55,236 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:55,236 INFO L93 Difference]: Finished difference Result 61 states and 93 transitions. [2022-04-15 07:15:55,236 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-15 07:15:55,236 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 22 [2022-04-15 07:15:55,237 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:15:55,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 07:15:55,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 93 transitions. [2022-04-15 07:15:55,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 07:15:55,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 93 transitions. [2022-04-15 07:15:55,250 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 93 transitions. [2022-04-15 07:15:55,377 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-15 07:15:55,389 INFO L225 Difference]: With dead ends: 61 [2022-04-15 07:15:55,389 INFO L226 Difference]: Without dead ends: 29 [2022-04-15 07:15:55,393 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 9 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-15 07:15:55,398 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-15 07:15:55,400 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-15 07:15:55,411 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 29 states. [2022-04-15 07:15:55,432 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 29 to 29. [2022-04-15 07:15:55,432 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:15:55,433 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-15 07:15:55,433 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-15 07:15:55,434 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-15 07:15:55,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:55,438 INFO L93 Difference]: Finished difference Result 29 states and 37 transitions. [2022-04-15 07:15:55,438 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2022-04-15 07:15:55,438 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:15:55,438 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:15:55,439 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-15 07:15:55,439 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-15 07:15:55,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:55,442 INFO L93 Difference]: Finished difference Result 29 states and 37 transitions. [2022-04-15 07:15:55,443 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2022-04-15 07:15:55,443 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:15:55,443 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:15:55,443 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:15:55,444 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:15:55,444 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-15 07:15:55,446 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 37 transitions. [2022-04-15 07:15:55,448 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 37 transitions. Word has length 22 [2022-04-15 07:15:55,448 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:15:55,448 INFO L478 AbstractCegarLoop]: Abstraction has 29 states and 37 transitions. [2022-04-15 07:15:55,449 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (5), 3 states have call predecessors, (5), 2 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-04-15 07:15:55,449 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 29 states and 37 transitions. [2022-04-15 07:15:55,484 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-15 07:15:55,485 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 37 transitions. [2022-04-15 07:15:55,486 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 23 [2022-04-15 07:15:55,486 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:15:55,486 INFO L499 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-15 07:15:55,487 WARN L460 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-15 07:15:55,487 INFO L403 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:15:55,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:15:55,489 INFO L85 PathProgramCache]: Analyzing trace with hash 1952740121, now seen corresponding path program 1 times [2022-04-15 07:15:55,489 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:15:55,489 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1429474269] [2022-04-15 07:15:55,494 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:15:55,494 INFO L85 PathProgramCache]: Analyzing trace with hash 1952740121, now seen corresponding path program 2 times [2022-04-15 07:15:55,494 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:15:55,495 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [207439726] [2022-04-15 07:15:55,495 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:15:55,495 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:15:55,524 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:15:55,525 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1788588305] [2022-04-15 07:15:55,525 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:15:55,525 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:15:55,525 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:15:55,528 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:15:55,536 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2022-04-15 07:15:55,573 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2022-04-15 07:15:55,574 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:15:55,575 INFO L263 TraceCheckSpWp]: Trace formula consists of 78 conjuncts, 9 conjunts are in the unsatisfiable core [2022-04-15 07:15:55,583 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:15:55,586 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:15:55,710 INFO L272 TraceCheckUtils]: 0: Hoare triple {291#true} call ULTIMATE.init(); {291#true} is VALID [2022-04-15 07:15:55,711 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-15 07:15:55,711 INFO L290 TraceCheckUtils]: 2: Hoare triple {291#true} assume true; {291#true} is VALID [2022-04-15 07:15:55,711 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {291#true} {291#true} #81#return; {291#true} is VALID [2022-04-15 07:15:55,711 INFO L272 TraceCheckUtils]: 4: Hoare triple {291#true} call #t~ret6 := main(); {291#true} is VALID [2022-04-15 07:15:55,711 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-15 07:15:55,712 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-15 07:15:55,712 INFO L290 TraceCheckUtils]: 7: Hoare triple {291#true} ~cond := #in~cond; {291#true} is VALID [2022-04-15 07:15:55,712 INFO L290 TraceCheckUtils]: 8: Hoare triple {291#true} assume !(0 == ~cond); {291#true} is VALID [2022-04-15 07:15:55,712 INFO L290 TraceCheckUtils]: 9: Hoare triple {291#true} assume true; {291#true} is VALID [2022-04-15 07:15:55,712 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {291#true} {291#true} #63#return; {291#true} is VALID [2022-04-15 07:15:55,712 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-15 07:15:55,712 INFO L290 TraceCheckUtils]: 12: Hoare triple {291#true} ~cond := #in~cond; {291#true} is VALID [2022-04-15 07:15:55,713 INFO L290 TraceCheckUtils]: 13: Hoare triple {291#true} assume !(0 == ~cond); {291#true} is VALID [2022-04-15 07:15:55,713 INFO L290 TraceCheckUtils]: 14: Hoare triple {291#true} assume true; {291#true} is VALID [2022-04-15 07:15:55,713 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {291#true} {291#true} #65#return; {291#true} is VALID [2022-04-15 07:15:55,714 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-15 07:15:55,714 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-15 07:15:55,715 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-15 07:15:55,716 INFO L290 TraceCheckUtils]: 19: Hoare triple {351#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {355#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:15:55,716 INFO L290 TraceCheckUtils]: 20: Hoare triple {355#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {292#false} is VALID [2022-04-15 07:15:55,716 INFO L290 TraceCheckUtils]: 21: Hoare triple {292#false} assume !false; {292#false} is VALID [2022-04-15 07:15:55,716 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-15 07:15:55,717 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 07:15:55,717 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:15:55,717 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [207439726] [2022-04-15 07:15:55,717 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:15:55,717 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1788588305] [2022-04-15 07:15:55,717 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1788588305] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:15:55,717 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:15:55,718 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 07:15:55,723 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:15:55,723 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1429474269] [2022-04-15 07:15:55,723 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1429474269] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:15:55,724 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:15:55,724 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 07:15:55,724 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1872728740] [2022-04-15 07:15:55,724 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:15:55,725 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-15 07:15:55,725 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:15:55,725 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-15 07:15:55,739 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:15:55,739 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 07:15:55,739 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:15:55,740 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 07:15:55,741 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 07:15:55,742 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-15 07:15:55,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:55,927 INFO L93 Difference]: Finished difference Result 45 states and 60 transitions. [2022-04-15 07:15:55,927 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 07:15:55,927 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-15 07:15:55,928 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:15:55,928 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-15 07:15:55,930 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 07:15:55,930 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-15 07:15:55,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 07:15:55,932 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-15 07:15:56,006 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:15:56,008 INFO L225 Difference]: With dead ends: 45 [2022-04-15 07:15:56,008 INFO L226 Difference]: Without dead ends: 43 [2022-04-15 07:15:56,008 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-15 07:15:56,009 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-15 07:15:56,009 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-15 07:15:56,010 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-04-15 07:15:56,018 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 42. [2022-04-15 07:15:56,018 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:15:56,019 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-15 07:15:56,019 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-15 07:15:56,019 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-15 07:15:56,022 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:56,022 INFO L93 Difference]: Finished difference Result 43 states and 58 transitions. [2022-04-15 07:15:56,022 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 58 transitions. [2022-04-15 07:15:56,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:15:56,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:15:56,023 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-15 07:15:56,024 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-15 07:15:56,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:56,026 INFO L93 Difference]: Finished difference Result 43 states and 58 transitions. [2022-04-15 07:15:56,026 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 58 transitions. [2022-04-15 07:15:56,027 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:15:56,027 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:15:56,027 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:15:56,027 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:15:56,028 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-15 07:15:56,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 57 transitions. [2022-04-15 07:15:56,030 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 57 transitions. Word has length 22 [2022-04-15 07:15:56,030 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:15:56,030 INFO L478 AbstractCegarLoop]: Abstraction has 42 states and 57 transitions. [2022-04-15 07:15:56,030 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-15 07:15:56,030 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 42 states and 57 transitions. [2022-04-15 07:15:56,080 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 57 edges. 57 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:15:56,081 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 57 transitions. [2022-04-15 07:15:56,081 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-04-15 07:15:56,081 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:15:56,081 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-15 07:15:56,099 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-15 07:15:56,295 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-15 07:15:56,296 INFO L403 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:15:56,296 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:15:56,296 INFO L85 PathProgramCache]: Analyzing trace with hash 652987931, now seen corresponding path program 1 times [2022-04-15 07:15:56,296 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:15:56,296 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [561932887] [2022-04-15 07:15:56,297 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:15:56,297 INFO L85 PathProgramCache]: Analyzing trace with hash 652987931, now seen corresponding path program 2 times [2022-04-15 07:15:56,297 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:15:56,297 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1395992853] [2022-04-15 07:15:56,297 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:15:56,297 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:15:56,309 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:15:56,309 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1631230119] [2022-04-15 07:15:56,309 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:15:56,309 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:15:56,309 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:15:56,310 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:15:56,311 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2022-04-15 07:15:56,344 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:15:56,344 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:15:56,345 INFO L263 TraceCheckSpWp]: Trace formula consists of 96 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 07:15:56,352 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:15:56,353 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:15:56,521 INFO L272 TraceCheckUtils]: 0: Hoare triple {623#true} call ULTIMATE.init(); {623#true} is VALID [2022-04-15 07:15:56,521 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-15 07:15:56,521 INFO L290 TraceCheckUtils]: 2: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-15 07:15:56,521 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {623#true} {623#true} #81#return; {623#true} is VALID [2022-04-15 07:15:56,521 INFO L272 TraceCheckUtils]: 4: Hoare triple {623#true} call #t~ret6 := main(); {623#true} is VALID [2022-04-15 07:15:56,522 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-15 07:15:56,522 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-15 07:15:56,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-15 07:15:56,522 INFO L290 TraceCheckUtils]: 8: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-15 07:15:56,523 INFO L290 TraceCheckUtils]: 9: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-15 07:15:56,523 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {623#true} {623#true} #63#return; {623#true} is VALID [2022-04-15 07:15:56,523 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-15 07:15:56,523 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-15 07:15:56,524 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-15 07:15:56,524 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-15 07:15:56,524 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-15 07:15:56,525 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-15 07:15:56,525 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-15 07:15:56,528 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-15 07:15:56,528 INFO L290 TraceCheckUtils]: 19: Hoare triple {623#true} ~cond := #in~cond; {623#true} is VALID [2022-04-15 07:15:56,528 INFO L290 TraceCheckUtils]: 20: Hoare triple {623#true} assume !(0 == ~cond); {623#true} is VALID [2022-04-15 07:15:56,528 INFO L290 TraceCheckUtils]: 21: Hoare triple {623#true} assume true; {623#true} is VALID [2022-04-15 07:15:56,529 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-15 07:15:56,530 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-15 07:15:56,530 INFO L290 TraceCheckUtils]: 24: Hoare triple {701#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {705#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:15:56,531 INFO L290 TraceCheckUtils]: 25: Hoare triple {705#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {624#false} is VALID [2022-04-15 07:15:56,531 INFO L290 TraceCheckUtils]: 26: Hoare triple {624#false} assume !false; {624#false} is VALID [2022-04-15 07:15:56,532 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-15 07:15:56,532 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 07:15:56,533 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:15:56,533 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1395992853] [2022-04-15 07:15:56,533 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:15:56,533 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1631230119] [2022-04-15 07:15:56,533 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1631230119] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:15:56,533 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:15:56,533 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 07:15:56,534 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:15:56,534 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [561932887] [2022-04-15 07:15:56,534 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [561932887] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:15:56,534 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:15:56,534 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 07:15:56,534 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1093866311] [2022-04-15 07:15:56,534 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:15:56,534 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-15 07:15:56,535 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:15:56,535 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-15 07:15:56,553 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:15:56,553 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 07:15:56,553 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:15:56,554 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 07:15:56,554 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=42, Unknown=0, NotChecked=0, Total=56 [2022-04-15 07:15:56,554 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-15 07:15:56,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:56,909 INFO L93 Difference]: Finished difference Result 49 states and 63 transitions. [2022-04-15 07:15:56,909 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:15:56,910 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-15 07:15:56,910 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:15:56,910 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-15 07:15:56,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-15 07:15:56,912 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-15 07:15:56,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2022-04-15 07:15:56,913 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 60 transitions. [2022-04-15 07:15:56,967 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:15:56,969 INFO L225 Difference]: With dead ends: 49 [2022-04-15 07:15:56,969 INFO L226 Difference]: Without dead ends: 47 [2022-04-15 07:15:56,969 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-15 07:15:56,970 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-15 07:15:56,970 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-15 07:15:56,971 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-04-15 07:15:56,992 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 46. [2022-04-15 07:15:56,992 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:15:56,993 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-15 07:15:56,993 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-15 07:15:56,993 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-15 07:15:56,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:56,996 INFO L93 Difference]: Finished difference Result 47 states and 61 transitions. [2022-04-15 07:15:56,996 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 61 transitions. [2022-04-15 07:15:56,996 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:15:56,996 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:15:56,997 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-15 07:15:56,997 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-15 07:15:56,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:56,999 INFO L93 Difference]: Finished difference Result 47 states and 61 transitions. [2022-04-15 07:15:57,000 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 61 transitions. [2022-04-15 07:15:57,000 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:15:57,000 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:15:57,000 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:15:57,000 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:15:57,001 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-15 07:15:57,002 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 60 transitions. [2022-04-15 07:15:57,002 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 60 transitions. Word has length 27 [2022-04-15 07:15:57,003 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:15:57,003 INFO L478 AbstractCegarLoop]: Abstraction has 46 states and 60 transitions. [2022-04-15 07:15:57,003 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-15 07:15:57,003 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 60 transitions. [2022-04-15 07:15:57,062 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:15:57,062 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 60 transitions. [2022-04-15 07:15:57,063 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 33 [2022-04-15 07:15:57,063 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:15:57,063 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-15 07:15:57,081 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-15 07:15:57,275 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-15 07:15:57,277 INFO L403 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:15:57,278 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:15:57,278 INFO L85 PathProgramCache]: Analyzing trace with hash 1028398105, now seen corresponding path program 1 times [2022-04-15 07:15:57,278 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:15:57,278 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [460098251] [2022-04-15 07:15:57,279 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:15:57,279 INFO L85 PathProgramCache]: Analyzing trace with hash 1028398105, now seen corresponding path program 2 times [2022-04-15 07:15:57,279 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:15:57,279 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [117535974] [2022-04-15 07:15:57,279 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:15:57,279 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:15:57,290 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:15:57,290 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1838806341] [2022-04-15 07:15:57,290 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:15:57,291 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:15:57,291 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:15:57,292 INFO L229 MonitoredProcess]: Starting monitored process 4 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:15:57,293 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Waiting until timeout for monitored process [2022-04-15 07:15:57,340 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:15:57,340 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:15:57,341 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 14 conjunts are in the unsatisfiable core [2022-04-15 07:15:57,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:15:57,352 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:15:57,525 INFO L272 TraceCheckUtils]: 0: Hoare triple {999#true} call ULTIMATE.init(); {999#true} is VALID [2022-04-15 07:15:57,525 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-15 07:15:57,525 INFO L290 TraceCheckUtils]: 2: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-15 07:15:57,525 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {999#true} {999#true} #81#return; {999#true} is VALID [2022-04-15 07:15:57,525 INFO L272 TraceCheckUtils]: 4: Hoare triple {999#true} call #t~ret6 := main(); {999#true} is VALID [2022-04-15 07:15:57,525 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-15 07:15:57,526 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-15 07:15:57,526 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-15 07:15:57,526 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-15 07:15:57,527 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-15 07:15:57,528 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-15 07:15:57,528 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-15 07:15:57,528 INFO L290 TraceCheckUtils]: 12: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-15 07:15:57,528 INFO L290 TraceCheckUtils]: 13: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-15 07:15:57,528 INFO L290 TraceCheckUtils]: 14: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-15 07:15:57,528 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {999#true} {1036#(<= 1 main_~x~0)} #65#return; {1036#(<= 1 main_~x~0)} is VALID [2022-04-15 07:15:57,529 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-15 07:15:57,529 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-15 07:15:57,529 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-15 07:15:57,529 INFO L290 TraceCheckUtils]: 19: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-15 07:15:57,530 INFO L290 TraceCheckUtils]: 20: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-15 07:15:57,530 INFO L290 TraceCheckUtils]: 21: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-15 07:15:57,532 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-15 07:15:57,532 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-15 07:15:57,532 INFO L290 TraceCheckUtils]: 24: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-15 07:15:57,532 INFO L290 TraceCheckUtils]: 25: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-15 07:15:57,533 INFO L290 TraceCheckUtils]: 26: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-15 07:15:57,533 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-15 07:15:57,534 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-15 07:15:57,534 INFO L290 TraceCheckUtils]: 29: Hoare triple {1092#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1096#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:15:57,534 INFO L290 TraceCheckUtils]: 30: Hoare triple {1096#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1000#false} is VALID [2022-04-15 07:15:57,535 INFO L290 TraceCheckUtils]: 31: Hoare triple {1000#false} assume !false; {1000#false} is VALID [2022-04-15 07:15:57,535 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 3 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-04-15 07:15:57,535 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:15:57,702 INFO L290 TraceCheckUtils]: 31: Hoare triple {1000#false} assume !false; {1000#false} is VALID [2022-04-15 07:15:57,703 INFO L290 TraceCheckUtils]: 30: Hoare triple {1096#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1000#false} is VALID [2022-04-15 07:15:57,704 INFO L290 TraceCheckUtils]: 29: Hoare triple {1092#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1096#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:15:57,705 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-15 07:15:57,707 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-15 07:15:57,707 INFO L290 TraceCheckUtils]: 26: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-15 07:15:57,707 INFO L290 TraceCheckUtils]: 25: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-15 07:15:57,707 INFO L290 TraceCheckUtils]: 24: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-15 07:15:57,707 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-15 07:15:57,716 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-15 07:15:57,716 INFO L290 TraceCheckUtils]: 21: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-15 07:15:57,716 INFO L290 TraceCheckUtils]: 20: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-15 07:15:57,716 INFO L290 TraceCheckUtils]: 19: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-15 07:15:57,716 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-15 07:15:57,717 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-15 07:15:57,717 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-15 07:15:57,717 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {999#true} {999#true} #65#return; {999#true} is VALID [2022-04-15 07:15:57,718 INFO L290 TraceCheckUtils]: 14: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-15 07:15:57,718 INFO L290 TraceCheckUtils]: 13: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-15 07:15:57,718 INFO L290 TraceCheckUtils]: 12: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-15 07:15:57,718 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-15 07:15:57,718 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {999#true} {999#true} #63#return; {999#true} is VALID [2022-04-15 07:15:57,718 INFO L290 TraceCheckUtils]: 9: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-15 07:15:57,718 INFO L290 TraceCheckUtils]: 8: Hoare triple {999#true} assume !(0 == ~cond); {999#true} is VALID [2022-04-15 07:15:57,718 INFO L290 TraceCheckUtils]: 7: Hoare triple {999#true} ~cond := #in~cond; {999#true} is VALID [2022-04-15 07:15:57,718 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-15 07:15:57,718 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-15 07:15:57,718 INFO L272 TraceCheckUtils]: 4: Hoare triple {999#true} call #t~ret6 := main(); {999#true} is VALID [2022-04-15 07:15:57,719 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {999#true} {999#true} #81#return; {999#true} is VALID [2022-04-15 07:15:57,719 INFO L290 TraceCheckUtils]: 2: Hoare triple {999#true} assume true; {999#true} is VALID [2022-04-15 07:15:57,719 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-15 07:15:57,719 INFO L272 TraceCheckUtils]: 0: Hoare triple {999#true} call ULTIMATE.init(); {999#true} is VALID [2022-04-15 07:15:57,719 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-04-15 07:15:57,719 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:15:57,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [117535974] [2022-04-15 07:15:57,720 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:15:57,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1838806341] [2022-04-15 07:15:57,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1838806341] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 07:15:57,720 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 07:15:57,720 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-15 07:15:57,720 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:15:57,720 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [460098251] [2022-04-15 07:15:57,720 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [460098251] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:15:57,720 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:15:57,721 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 07:15:57,721 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1257195794] [2022-04-15 07:15:57,721 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:15:57,721 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-15 07:15:57,721 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:15:57,721 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-15 07:15:57,736 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-15 07:15:57,737 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 07:15:57,737 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:15:57,737 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 07:15:57,737 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=17, Invalid=55, Unknown=0, NotChecked=0, Total=72 [2022-04-15 07:15:57,738 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-15 07:15:57,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:57,931 INFO L93 Difference]: Finished difference Result 71 states and 100 transitions. [2022-04-15 07:15:57,931 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 07:15:57,931 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-15 07:15:57,931 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:15:57,932 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-15 07:15:57,933 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 07:15:57,933 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-15 07:15:57,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 60 transitions. [2022-04-15 07:15:57,934 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 60 transitions. [2022-04-15 07:15:57,980 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:15:57,982 INFO L225 Difference]: With dead ends: 71 [2022-04-15 07:15:57,982 INFO L226 Difference]: Without dead ends: 67 [2022-04-15 07:15:57,982 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 64 GetRequests, 55 SyntacticMatches, 1 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 5 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-15 07:15:57,983 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-15 07:15:57,983 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-15 07:15:57,984 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-15 07:15:58,014 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 67. [2022-04-15 07:15:58,015 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:15:58,015 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-15 07:15:58,016 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-15 07:15:58,016 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-15 07:15:58,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:58,019 INFO L93 Difference]: Finished difference Result 67 states and 93 transitions. [2022-04-15 07:15:58,019 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 93 transitions. [2022-04-15 07:15:58,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:15:58,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:15:58,020 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-15 07:15:58,020 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-15 07:15:58,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:58,023 INFO L93 Difference]: Finished difference Result 67 states and 93 transitions. [2022-04-15 07:15:58,023 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 93 transitions. [2022-04-15 07:15:58,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:15:58,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:15:58,024 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:15:58,024 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:15:58,024 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-15 07:15:58,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 93 transitions. [2022-04-15 07:15:58,026 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 93 transitions. Word has length 32 [2022-04-15 07:15:58,027 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:15:58,027 INFO L478 AbstractCegarLoop]: Abstraction has 67 states and 93 transitions. [2022-04-15 07:15:58,027 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-15 07:15:58,027 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 93 transitions. [2022-04-15 07:15:58,124 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-15 07:15:58,125 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 93 transitions. [2022-04-15 07:15:58,125 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 39 [2022-04-15 07:15:58,125 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:15:58,125 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-15 07:15:58,168 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (4)] Forceful destruction successful, exit code 0 [2022-04-15 07:15:58,339 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-15 07:15:58,340 INFO L403 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:15:58,340 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:15:58,340 INFO L85 PathProgramCache]: Analyzing trace with hash -134474469, now seen corresponding path program 1 times [2022-04-15 07:15:58,340 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:15:58,340 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1258561018] [2022-04-15 07:15:58,341 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:15:58,341 INFO L85 PathProgramCache]: Analyzing trace with hash -134474469, now seen corresponding path program 2 times [2022-04-15 07:15:58,341 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:15:58,341 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1977663470] [2022-04-15 07:15:58,341 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:15:58,341 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:15:58,350 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:15:58,351 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [430121585] [2022-04-15 07:15:58,351 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:15:58,351 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:15:58,351 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:15:58,352 INFO L229 MonitoredProcess]: Starting monitored process 5 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:15:58,353 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Waiting until timeout for monitored process [2022-04-15 07:15:58,387 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:15:58,388 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:15:58,388 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 5 conjunts are in the unsatisfiable core [2022-04-15 07:15:58,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:15:58,405 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:15:58,512 INFO L272 TraceCheckUtils]: 0: Hoare triple {1611#true} call ULTIMATE.init(); {1611#true} is VALID [2022-04-15 07:15:58,512 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-15 07:15:58,512 INFO L290 TraceCheckUtils]: 2: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-15 07:15:58,512 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1611#true} {1611#true} #81#return; {1611#true} is VALID [2022-04-15 07:15:58,513 INFO L272 TraceCheckUtils]: 4: Hoare triple {1611#true} call #t~ret6 := main(); {1611#true} is VALID [2022-04-15 07:15:58,513 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-15 07:15:58,513 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-15 07:15:58,513 INFO L290 TraceCheckUtils]: 7: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-15 07:15:58,513 INFO L290 TraceCheckUtils]: 8: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-15 07:15:58,513 INFO L290 TraceCheckUtils]: 9: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-15 07:15:58,513 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1611#true} {1611#true} #63#return; {1611#true} is VALID [2022-04-15 07:15:58,513 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-15 07:15:58,514 INFO L290 TraceCheckUtils]: 12: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-15 07:15:58,514 INFO L290 TraceCheckUtils]: 13: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-15 07:15:58,514 INFO L290 TraceCheckUtils]: 14: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-15 07:15:58,514 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1611#true} {1611#true} #65#return; {1611#true} is VALID [2022-04-15 07:15:58,514 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-15 07:15:58,514 INFO L290 TraceCheckUtils]: 17: Hoare triple {1611#true} assume !false; {1611#true} is VALID [2022-04-15 07:15:58,514 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-15 07:15:58,514 INFO L290 TraceCheckUtils]: 19: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-15 07:15:58,514 INFO L290 TraceCheckUtils]: 20: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-15 07:15:58,515 INFO L290 TraceCheckUtils]: 21: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-15 07:15:58,515 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {1611#true} {1611#true} #67#return; {1611#true} is VALID [2022-04-15 07:15:58,515 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-15 07:15:58,515 INFO L290 TraceCheckUtils]: 24: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-15 07:15:58,515 INFO L290 TraceCheckUtils]: 25: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-15 07:15:58,515 INFO L290 TraceCheckUtils]: 26: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-15 07:15:58,515 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {1611#true} {1611#true} #69#return; {1611#true} is VALID [2022-04-15 07:15:58,515 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-15 07:15:58,516 INFO L290 TraceCheckUtils]: 29: Hoare triple {1611#true} ~cond := #in~cond; {1611#true} is VALID [2022-04-15 07:15:58,516 INFO L290 TraceCheckUtils]: 30: Hoare triple {1611#true} assume !(0 == ~cond); {1611#true} is VALID [2022-04-15 07:15:58,516 INFO L290 TraceCheckUtils]: 31: Hoare triple {1611#true} assume true; {1611#true} is VALID [2022-04-15 07:15:58,516 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {1611#true} {1611#true} #71#return; {1611#true} is VALID [2022-04-15 07:15:58,517 INFO L290 TraceCheckUtils]: 33: Hoare triple {1611#true} assume !(~a~0 != ~b~0); {1715#(= main_~b~0 main_~a~0)} is VALID [2022-04-15 07:15:58,518 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-15 07:15:58,518 INFO L290 TraceCheckUtils]: 35: Hoare triple {1719#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1723#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:15:58,519 INFO L290 TraceCheckUtils]: 36: Hoare triple {1723#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1612#false} is VALID [2022-04-15 07:15:58,519 INFO L290 TraceCheckUtils]: 37: Hoare triple {1612#false} assume !false; {1612#false} is VALID [2022-04-15 07:15:58,519 INFO L134 CoverageAnalysis]: Checked inductivity of 22 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-04-15 07:15:58,519 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 07:15:58,519 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:15:58,519 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1977663470] [2022-04-15 07:15:58,520 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:15:58,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [430121585] [2022-04-15 07:15:58,520 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [430121585] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:15:58,520 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:15:58,520 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 07:15:58,520 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:15:58,520 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1258561018] [2022-04-15 07:15:58,520 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1258561018] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:15:58,520 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:15:58,521 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 07:15:58,521 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [299740547] [2022-04-15 07:15:58,521 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:15:58,521 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-15 07:15:58,522 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:15:58,522 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-15 07:15:58,541 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-15 07:15:58,541 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 07:15:58,542 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:15:58,542 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 07:15:58,542 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 07:15:58,542 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-15 07:15:58,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:58,694 INFO L93 Difference]: Finished difference Result 73 states and 98 transitions. [2022-04-15 07:15:58,694 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 07:15:58,694 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-15 07:15:58,694 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:15:58,694 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-15 07:15:58,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-15 07:15:58,695 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-15 07:15:58,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-15 07:15:58,696 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2022-04-15 07:15:58,721 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:15:58,723 INFO L225 Difference]: With dead ends: 73 [2022-04-15 07:15:58,723 INFO L226 Difference]: Without dead ends: 71 [2022-04-15 07:15:58,724 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-15 07:15:58,724 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-15 07:15:58,725 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-15 07:15:58,725 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2022-04-15 07:15:58,762 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 71. [2022-04-15 07:15:58,762 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:15:58,763 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-15 07:15:58,763 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-15 07:15:58,763 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-15 07:15:58,766 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:58,767 INFO L93 Difference]: Finished difference Result 71 states and 96 transitions. [2022-04-15 07:15:58,767 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 96 transitions. [2022-04-15 07:15:58,767 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:15:58,767 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:15:58,768 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-15 07:15:58,768 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-15 07:15:58,771 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:58,772 INFO L93 Difference]: Finished difference Result 71 states and 96 transitions. [2022-04-15 07:15:58,772 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 96 transitions. [2022-04-15 07:15:58,772 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:15:58,772 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:15:58,772 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:15:58,772 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:15:58,773 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-15 07:15:58,776 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 71 states to 71 states and 96 transitions. [2022-04-15 07:15:58,776 INFO L78 Accepts]: Start accepts. Automaton has 71 states and 96 transitions. Word has length 38 [2022-04-15 07:15:58,776 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:15:58,777 INFO L478 AbstractCegarLoop]: Abstraction has 71 states and 96 transitions. [2022-04-15 07:15:58,777 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-15 07:15:58,777 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 71 states and 96 transitions. [2022-04-15 07:15:58,874 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:15:58,874 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 96 transitions. [2022-04-15 07:15:58,875 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-04-15 07:15:58,875 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:15:58,875 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-15 07:15:58,905 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-04-15 07:15:59,091 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-15 07:15:59,092 INFO L403 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:15:59,092 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:15:59,092 INFO L85 PathProgramCache]: Analyzing trace with hash 251096952, now seen corresponding path program 1 times [2022-04-15 07:15:59,092 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:15:59,092 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1262992498] [2022-04-15 07:15:59,093 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:15:59,093 INFO L85 PathProgramCache]: Analyzing trace with hash 251096952, now seen corresponding path program 2 times [2022-04-15 07:15:59,093 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:15:59,093 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1686006410] [2022-04-15 07:15:59,093 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:15:59,093 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:15:59,103 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:15:59,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [300488020] [2022-04-15 07:15:59,104 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:15:59,104 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:15:59,104 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:15:59,105 INFO L229 MonitoredProcess]: Starting monitored process 6 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:15:59,106 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Waiting until timeout for monitored process [2022-04-15 07:15:59,139 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:15:59,139 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:15:59,143 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-15 07:15:59,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:15:59,153 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:15:59,300 INFO L272 TraceCheckUtils]: 0: Hoare triple {2161#true} call ULTIMATE.init(); {2161#true} is VALID [2022-04-15 07:15:59,300 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-15 07:15:59,300 INFO L290 TraceCheckUtils]: 2: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-15 07:15:59,301 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2161#true} {2161#true} #81#return; {2161#true} is VALID [2022-04-15 07:15:59,301 INFO L272 TraceCheckUtils]: 4: Hoare triple {2161#true} call #t~ret6 := main(); {2161#true} is VALID [2022-04-15 07:15:59,301 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-15 07:15:59,301 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-15 07:15:59,301 INFO L290 TraceCheckUtils]: 7: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-15 07:15:59,301 INFO L290 TraceCheckUtils]: 8: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-15 07:15:59,301 INFO L290 TraceCheckUtils]: 9: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-15 07:15:59,301 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2161#true} {2161#true} #63#return; {2161#true} is VALID [2022-04-15 07:15:59,301 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-15 07:15:59,301 INFO L290 TraceCheckUtils]: 12: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-15 07:15:59,301 INFO L290 TraceCheckUtils]: 13: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-15 07:15:59,301 INFO L290 TraceCheckUtils]: 14: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-15 07:15:59,302 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2161#true} {2161#true} #65#return; {2161#true} is VALID [2022-04-15 07:15:59,303 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-15 07:15:59,304 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-15 07:15:59,304 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-15 07:15:59,304 INFO L290 TraceCheckUtils]: 19: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-15 07:15:59,304 INFO L290 TraceCheckUtils]: 20: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-15 07:15:59,304 INFO L290 TraceCheckUtils]: 21: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-15 07:15:59,305 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-15 07:15:59,305 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-15 07:15:59,305 INFO L290 TraceCheckUtils]: 24: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-15 07:15:59,305 INFO L290 TraceCheckUtils]: 25: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-15 07:15:59,305 INFO L290 TraceCheckUtils]: 26: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-15 07:15:59,306 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-15 07:15:59,306 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-15 07:15:59,306 INFO L290 TraceCheckUtils]: 29: Hoare triple {2161#true} ~cond := #in~cond; {2161#true} is VALID [2022-04-15 07:15:59,306 INFO L290 TraceCheckUtils]: 30: Hoare triple {2161#true} assume !(0 == ~cond); {2161#true} is VALID [2022-04-15 07:15:59,306 INFO L290 TraceCheckUtils]: 31: Hoare triple {2161#true} assume true; {2161#true} is VALID [2022-04-15 07:15:59,306 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-15 07:15:59,307 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-15 07:15:59,307 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-15 07:15:59,308 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-15 07:15:59,308 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-15 07:15:59,308 INFO L290 TraceCheckUtils]: 37: Hoare triple {2275#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2279#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:15:59,309 INFO L290 TraceCheckUtils]: 38: Hoare triple {2279#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2162#false} is VALID [2022-04-15 07:15:59,309 INFO L290 TraceCheckUtils]: 39: Hoare triple {2162#false} assume !false; {2162#false} is VALID [2022-04-15 07:15:59,309 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-15 07:15:59,309 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-15 07:15:59,309 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:15:59,309 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1686006410] [2022-04-15 07:15:59,309 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:15:59,309 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [300488020] [2022-04-15 07:15:59,309 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [300488020] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:15:59,309 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:15:59,310 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 07:15:59,310 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:15:59,310 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1262992498] [2022-04-15 07:15:59,310 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1262992498] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:15:59,310 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:15:59,310 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 07:15:59,310 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [814546623] [2022-04-15 07:15:59,310 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:15:59,310 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-15 07:15:59,311 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:15:59,311 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-15 07:15:59,328 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:15:59,328 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 07:15:59,328 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:15:59,328 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 07:15:59,328 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-04-15 07:15:59,329 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-15 07:15:59,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:59,499 INFO L93 Difference]: Finished difference Result 81 states and 104 transitions. [2022-04-15 07:15:59,499 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 07:15:59,499 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-15 07:15:59,499 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:15:59,499 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-15 07:15:59,500 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-15 07:15:59,500 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-15 07:15:59,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 58 transitions. [2022-04-15 07:15:59,501 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 58 transitions. [2022-04-15 07:15:59,545 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:15:59,547 INFO L225 Difference]: With dead ends: 81 [2022-04-15 07:15:59,547 INFO L226 Difference]: Without dead ends: 78 [2022-04-15 07:15:59,548 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-15 07:15:59,548 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-15 07:15:59,548 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-15 07:15:59,549 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2022-04-15 07:15:59,593 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 76. [2022-04-15 07:15:59,594 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:15:59,594 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-15 07:15:59,594 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-15 07:15:59,594 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-15 07:15:59,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:59,597 INFO L93 Difference]: Finished difference Result 78 states and 100 transitions. [2022-04-15 07:15:59,597 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 100 transitions. [2022-04-15 07:15:59,597 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:15:59,597 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:15:59,598 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-15 07:15:59,598 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-15 07:15:59,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:15:59,600 INFO L93 Difference]: Finished difference Result 78 states and 100 transitions. [2022-04-15 07:15:59,600 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 100 transitions. [2022-04-15 07:15:59,600 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:15:59,600 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:15:59,601 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:15:59,601 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:15:59,601 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-15 07:15:59,603 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 97 transitions. [2022-04-15 07:15:59,603 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 97 transitions. Word has length 40 [2022-04-15 07:15:59,603 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:15:59,603 INFO L478 AbstractCegarLoop]: Abstraction has 76 states and 97 transitions. [2022-04-15 07:15:59,603 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-15 07:15:59,603 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 76 states and 97 transitions. [2022-04-15 07:15:59,696 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 97 edges. 97 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:15:59,696 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 97 transitions. [2022-04-15 07:15:59,697 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-04-15 07:15:59,697 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:15:59,697 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-15 07:15:59,716 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Forceful destruction successful, exit code 0 [2022-04-15 07:15:59,897 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-15 07:15:59,898 INFO L403 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:15:59,898 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:15:59,898 INFO L85 PathProgramCache]: Analyzing trace with hash -1098226535, now seen corresponding path program 1 times [2022-04-15 07:15:59,898 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:15:59,898 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [133109341] [2022-04-15 07:15:59,899 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:15:59,899 INFO L85 PathProgramCache]: Analyzing trace with hash -1098226535, now seen corresponding path program 2 times [2022-04-15 07:15:59,899 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:15:59,899 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [237973791] [2022-04-15 07:15:59,899 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:15:59,899 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:15:59,908 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:15:59,908 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [673409876] [2022-04-15 07:15:59,909 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:15:59,909 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:15:59,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:15:59,910 INFO L229 MonitoredProcess]: Starting monitored process 7 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:15:59,910 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Waiting until timeout for monitored process [2022-04-15 07:15:59,943 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:15:59,944 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:15:59,944 INFO L263 TraceCheckSpWp]: Trace formula consists of 125 conjuncts, 10 conjunts are in the unsatisfiable core [2022-04-15 07:15:59,968 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:15:59,970 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:16:00,094 INFO L272 TraceCheckUtils]: 0: Hoare triple {2757#true} call ULTIMATE.init(); {2757#true} is VALID [2022-04-15 07:16:00,094 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-15 07:16:00,094 INFO L290 TraceCheckUtils]: 2: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-15 07:16:00,094 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2757#true} {2757#true} #81#return; {2757#true} is VALID [2022-04-15 07:16:00,095 INFO L272 TraceCheckUtils]: 4: Hoare triple {2757#true} call #t~ret6 := main(); {2757#true} is VALID [2022-04-15 07:16:00,095 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-15 07:16:00,095 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-15 07:16:00,095 INFO L290 TraceCheckUtils]: 7: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-15 07:16:00,095 INFO L290 TraceCheckUtils]: 8: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-15 07:16:00,095 INFO L290 TraceCheckUtils]: 9: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-15 07:16:00,095 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2757#true} {2757#true} #63#return; {2757#true} is VALID [2022-04-15 07:16:00,095 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-15 07:16:00,095 INFO L290 TraceCheckUtils]: 12: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-15 07:16:00,095 INFO L290 TraceCheckUtils]: 13: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-15 07:16:00,095 INFO L290 TraceCheckUtils]: 14: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-15 07:16:00,096 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2757#true} {2757#true} #65#return; {2757#true} is VALID [2022-04-15 07:16:00,096 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-15 07:16:00,096 INFO L290 TraceCheckUtils]: 17: Hoare triple {2757#true} assume !false; {2757#true} is VALID [2022-04-15 07:16:00,096 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-15 07:16:00,096 INFO L290 TraceCheckUtils]: 19: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-15 07:16:00,096 INFO L290 TraceCheckUtils]: 20: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-15 07:16:00,096 INFO L290 TraceCheckUtils]: 21: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-15 07:16:00,096 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2757#true} {2757#true} #67#return; {2757#true} is VALID [2022-04-15 07:16:00,096 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-15 07:16:00,101 INFO L290 TraceCheckUtils]: 24: Hoare triple {2757#true} ~cond := #in~cond; {2834#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:00,101 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-15 07:16:00,102 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-15 07:16:00,102 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-15 07:16:00,102 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-15 07:16:00,102 INFO L290 TraceCheckUtils]: 29: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-15 07:16:00,103 INFO L290 TraceCheckUtils]: 30: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-15 07:16:00,103 INFO L290 TraceCheckUtils]: 31: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-15 07:16:00,103 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-15 07:16:00,104 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-15 07:16:00,104 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-15 07:16:00,104 INFO L290 TraceCheckUtils]: 35: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-15 07:16:00,104 INFO L290 TraceCheckUtils]: 36: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-15 07:16:00,104 INFO L290 TraceCheckUtils]: 37: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-15 07:16:00,104 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-15 07:16:00,105 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-15 07:16:00,105 INFO L290 TraceCheckUtils]: 40: Hoare triple {2883#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2887#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:00,106 INFO L290 TraceCheckUtils]: 41: Hoare triple {2887#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2758#false} is VALID [2022-04-15 07:16:00,106 INFO L290 TraceCheckUtils]: 42: Hoare triple {2758#false} assume !false; {2758#false} is VALID [2022-04-15 07:16:00,106 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-15 07:16:00,106 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:16:14,930 INFO L290 TraceCheckUtils]: 42: Hoare triple {2758#false} assume !false; {2758#false} is VALID [2022-04-15 07:16:14,931 INFO L290 TraceCheckUtils]: 41: Hoare triple {2887#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {2758#false} is VALID [2022-04-15 07:16:14,931 INFO L290 TraceCheckUtils]: 40: Hoare triple {2883#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {2887#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:14,932 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-15 07:16:14,933 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-15 07:16:14,933 INFO L290 TraceCheckUtils]: 37: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-15 07:16:14,933 INFO L290 TraceCheckUtils]: 36: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-15 07:16:14,933 INFO L290 TraceCheckUtils]: 35: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-15 07:16:14,933 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-15 07:16:14,933 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-15 07:16:14,934 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-15 07:16:14,934 INFO L290 TraceCheckUtils]: 31: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-15 07:16:14,934 INFO L290 TraceCheckUtils]: 30: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-15 07:16:14,934 INFO L290 TraceCheckUtils]: 29: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-15 07:16:14,934 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-15 07:16:14,936 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-15 07:16:14,937 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-15 07:16:14,937 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-15 07:16:14,937 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-15 07:16:14,938 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-15 07:16:14,938 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {2757#true} {2757#true} #67#return; {2757#true} is VALID [2022-04-15 07:16:14,938 INFO L290 TraceCheckUtils]: 21: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-15 07:16:14,938 INFO L290 TraceCheckUtils]: 20: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-15 07:16:14,938 INFO L290 TraceCheckUtils]: 19: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-15 07:16:14,938 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-15 07:16:14,938 INFO L290 TraceCheckUtils]: 17: Hoare triple {2757#true} assume !false; {2757#true} is VALID [2022-04-15 07:16:14,938 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-15 07:16:14,938 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2757#true} {2757#true} #65#return; {2757#true} is VALID [2022-04-15 07:16:14,938 INFO L290 TraceCheckUtils]: 14: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-15 07:16:14,938 INFO L290 TraceCheckUtils]: 13: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-15 07:16:14,938 INFO L290 TraceCheckUtils]: 12: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-15 07:16:14,938 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-15 07:16:14,939 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2757#true} {2757#true} #63#return; {2757#true} is VALID [2022-04-15 07:16:14,939 INFO L290 TraceCheckUtils]: 9: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-15 07:16:14,939 INFO L290 TraceCheckUtils]: 8: Hoare triple {2757#true} assume !(0 == ~cond); {2757#true} is VALID [2022-04-15 07:16:14,939 INFO L290 TraceCheckUtils]: 7: Hoare triple {2757#true} ~cond := #in~cond; {2757#true} is VALID [2022-04-15 07:16:14,939 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-15 07:16:14,939 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-15 07:16:14,939 INFO L272 TraceCheckUtils]: 4: Hoare triple {2757#true} call #t~ret6 := main(); {2757#true} is VALID [2022-04-15 07:16:14,939 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2757#true} {2757#true} #81#return; {2757#true} is VALID [2022-04-15 07:16:14,939 INFO L290 TraceCheckUtils]: 2: Hoare triple {2757#true} assume true; {2757#true} is VALID [2022-04-15 07:16:14,939 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-15 07:16:14,939 INFO L272 TraceCheckUtils]: 0: Hoare triple {2757#true} call ULTIMATE.init(); {2757#true} is VALID [2022-04-15 07:16:14,940 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 10 proven. 7 refuted. 0 times theorem prover too weak. 19 trivial. 0 not checked. [2022-04-15 07:16:14,940 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:16:14,940 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [237973791] [2022-04-15 07:16:14,940 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:16:14,940 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [673409876] [2022-04-15 07:16:14,940 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [673409876] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:16:14,940 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:16:14,940 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 9 [2022-04-15 07:16:14,940 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:16:14,940 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [133109341] [2022-04-15 07:16:14,940 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [133109341] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:16:14,940 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:16:14,941 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 07:16:14,941 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1477479966] [2022-04-15 07:16:14,941 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:16:14,941 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-15 07:16:14,943 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:16:14,943 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-15 07:16:14,966 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-15 07:16:14,966 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 07:16:14,966 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:16:14,966 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 07:16:14,966 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-15 07:16:14,966 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-15 07:16:15,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:15,467 INFO L93 Difference]: Finished difference Result 85 states and 107 transitions. [2022-04-15 07:16:15,467 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:16:15,468 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-15 07:16:15,468 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:16:15,468 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-15 07:16:15,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-04-15 07:16:15,469 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-15 07:16:15,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 47 transitions. [2022-04-15 07:16:15,470 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 47 transitions. [2022-04-15 07:16:15,515 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-15 07:16:15,518 INFO L225 Difference]: With dead ends: 85 [2022-04-15 07:16:15,518 INFO L226 Difference]: Without dead ends: 81 [2022-04-15 07:16:15,518 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-15 07:16:15,519 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-15 07:16:15,520 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-15 07:16:15,521 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2022-04-15 07:16:15,580 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 81. [2022-04-15 07:16:15,580 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:16:15,581 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-15 07:16:15,581 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-15 07:16:15,581 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-15 07:16:15,584 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:15,584 INFO L93 Difference]: Finished difference Result 81 states and 100 transitions. [2022-04-15 07:16:15,584 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 100 transitions. [2022-04-15 07:16:15,584 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:16:15,584 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:16:15,586 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-15 07:16:15,586 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-15 07:16:15,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:15,590 INFO L93 Difference]: Finished difference Result 81 states and 100 transitions. [2022-04-15 07:16:15,590 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 100 transitions. [2022-04-15 07:16:15,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:16:15,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:16:15,590 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:16:15,590 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:16:15,591 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-15 07:16:15,593 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 81 states to 81 states and 100 transitions. [2022-04-15 07:16:15,593 INFO L78 Accepts]: Start accepts. Automaton has 81 states and 100 transitions. Word has length 43 [2022-04-15 07:16:15,593 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:16:15,594 INFO L478 AbstractCegarLoop]: Abstraction has 81 states and 100 transitions. [2022-04-15 07:16:15,594 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-15 07:16:15,594 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 81 states and 100 transitions. [2022-04-15 07:16:15,692 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:16:15,692 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 100 transitions. [2022-04-15 07:16:15,693 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-04-15 07:16:15,693 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:16:15,693 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-15 07:16:15,712 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (7)] Forceful destruction successful, exit code 0 [2022-04-15 07:16:15,893 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-15 07:16:15,894 INFO L403 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:16:15,894 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:16:15,894 INFO L85 PathProgramCache]: Analyzing trace with hash -17648356, now seen corresponding path program 3 times [2022-04-15 07:16:15,894 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:16:15,894 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1475448659] [2022-04-15 07:16:15,895 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:16:15,895 INFO L85 PathProgramCache]: Analyzing trace with hash -17648356, now seen corresponding path program 4 times [2022-04-15 07:16:15,895 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:16:15,895 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1065136334] [2022-04-15 07:16:15,895 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:16:15,895 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:16:15,909 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:16:15,909 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1168114052] [2022-04-15 07:16:15,909 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:16:15,909 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:16:15,909 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:16:15,910 INFO L229 MonitoredProcess]: Starting monitored process 8 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:16:15,911 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Waiting until timeout for monitored process [2022-04-15 07:16:15,948 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:16:15,948 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:16:15,949 INFO L263 TraceCheckSpWp]: Trace formula consists of 101 conjuncts, 30 conjunts are in the unsatisfiable core [2022-04-15 07:16:15,957 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:16:15,960 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:16:16,413 INFO L272 TraceCheckUtils]: 0: Hoare triple {3523#true} call ULTIMATE.init(); {3523#true} is VALID [2022-04-15 07:16:16,413 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-15 07:16:16,414 INFO L290 TraceCheckUtils]: 2: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-15 07:16:16,414 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3523#true} {3523#true} #81#return; {3523#true} is VALID [2022-04-15 07:16:16,414 INFO L272 TraceCheckUtils]: 4: Hoare triple {3523#true} call #t~ret6 := main(); {3523#true} is VALID [2022-04-15 07:16:16,414 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-15 07:16:16,414 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-15 07:16:16,414 INFO L290 TraceCheckUtils]: 7: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-15 07:16:16,414 INFO L290 TraceCheckUtils]: 8: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-15 07:16:16,414 INFO L290 TraceCheckUtils]: 9: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-15 07:16:16,414 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3523#true} {3523#true} #63#return; {3523#true} is VALID [2022-04-15 07:16:16,414 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-15 07:16:16,419 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-15 07:16:16,420 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-15 07:16:16,420 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-15 07:16:16,420 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-15 07:16:16,421 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-15 07:16:16,421 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-15 07:16:16,421 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-15 07:16:16,421 INFO L290 TraceCheckUtils]: 19: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-15 07:16:16,422 INFO L290 TraceCheckUtils]: 20: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-15 07:16:16,422 INFO L290 TraceCheckUtils]: 21: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-15 07:16:16,423 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-15 07:16:16,423 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-15 07:16:16,427 INFO L290 TraceCheckUtils]: 24: Hoare triple {3523#true} ~cond := #in~cond; {3604#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:16,428 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-15 07:16:16,428 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-15 07:16:16,429 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-15 07:16:16,429 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-15 07:16:16,429 INFO L290 TraceCheckUtils]: 29: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-15 07:16:16,429 INFO L290 TraceCheckUtils]: 30: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-15 07:16:16,429 INFO L290 TraceCheckUtils]: 31: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-15 07:16:16,430 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-15 07:16:16,430 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-15 07:16:16,431 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-15 07:16:16,431 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-15 07:16:16,431 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-15 07:16:16,432 INFO L290 TraceCheckUtils]: 37: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-15 07:16:16,432 INFO L290 TraceCheckUtils]: 38: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-15 07:16:16,432 INFO L290 TraceCheckUtils]: 39: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-15 07:16:16,432 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-15 07:16:16,433 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-15 07:16:16,433 INFO L290 TraceCheckUtils]: 42: Hoare triple {3659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:16,434 INFO L290 TraceCheckUtils]: 43: Hoare triple {3663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3524#false} is VALID [2022-04-15 07:16:16,434 INFO L290 TraceCheckUtils]: 44: Hoare triple {3524#false} assume !false; {3524#false} is VALID [2022-04-15 07:16:16,434 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-15 07:16:16,434 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:16:43,781 INFO L290 TraceCheckUtils]: 44: Hoare triple {3524#false} assume !false; {3524#false} is VALID [2022-04-15 07:16:43,782 INFO L290 TraceCheckUtils]: 43: Hoare triple {3663#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3524#false} is VALID [2022-04-15 07:16:43,782 INFO L290 TraceCheckUtils]: 42: Hoare triple {3659#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3663#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:43,783 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-15 07:16:43,784 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-15 07:16:43,784 INFO L290 TraceCheckUtils]: 39: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-15 07:16:43,784 INFO L290 TraceCheckUtils]: 38: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-15 07:16:43,784 INFO L290 TraceCheckUtils]: 37: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-15 07:16:43,784 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-15 07:16:43,785 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-15 07:16:44,118 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-15 07:16:44,119 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-15 07:16:44,120 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-15 07:16:44,120 INFO L290 TraceCheckUtils]: 31: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-15 07:16:44,120 INFO L290 TraceCheckUtils]: 30: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-15 07:16:44,120 INFO L290 TraceCheckUtils]: 29: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-15 07:16:44,120 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-15 07:16:44,121 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-15 07:16:44,121 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-15 07:16:44,122 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-15 07:16:44,122 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-15 07:16:44,122 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-15 07:16:44,123 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-15 07:16:44,123 INFO L290 TraceCheckUtils]: 21: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-15 07:16:44,123 INFO L290 TraceCheckUtils]: 20: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-15 07:16:44,123 INFO L290 TraceCheckUtils]: 19: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-15 07:16:44,123 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-15 07:16:44,124 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-15 07:16:44,124 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-15 07:16:44,124 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3523#true} {3523#true} #65#return; {3523#true} is VALID [2022-04-15 07:16:44,124 INFO L290 TraceCheckUtils]: 14: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-15 07:16:44,124 INFO L290 TraceCheckUtils]: 13: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-15 07:16:44,125 INFO L290 TraceCheckUtils]: 12: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-15 07:16:44,125 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-15 07:16:44,125 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3523#true} {3523#true} #63#return; {3523#true} is VALID [2022-04-15 07:16:44,125 INFO L290 TraceCheckUtils]: 9: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-15 07:16:44,125 INFO L290 TraceCheckUtils]: 8: Hoare triple {3523#true} assume !(0 == ~cond); {3523#true} is VALID [2022-04-15 07:16:44,125 INFO L290 TraceCheckUtils]: 7: Hoare triple {3523#true} ~cond := #in~cond; {3523#true} is VALID [2022-04-15 07:16:44,125 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-15 07:16:44,125 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-15 07:16:44,125 INFO L272 TraceCheckUtils]: 4: Hoare triple {3523#true} call #t~ret6 := main(); {3523#true} is VALID [2022-04-15 07:16:44,125 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3523#true} {3523#true} #81#return; {3523#true} is VALID [2022-04-15 07:16:44,125 INFO L290 TraceCheckUtils]: 2: Hoare triple {3523#true} assume true; {3523#true} is VALID [2022-04-15 07:16:44,125 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-15 07:16:44,125 INFO L272 TraceCheckUtils]: 0: Hoare triple {3523#true} call ULTIMATE.init(); {3523#true} is VALID [2022-04-15 07:16:44,126 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-15 07:16:44,126 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:16:44,126 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1065136334] [2022-04-15 07:16:44,126 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:16:44,126 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1168114052] [2022-04-15 07:16:44,126 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1168114052] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:16:44,126 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:16:44,126 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-15 07:16:44,126 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:16:44,126 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1475448659] [2022-04-15 07:16:44,126 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1475448659] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:16:44,126 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:16:44,126 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 07:16:44,127 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [786213556] [2022-04-15 07:16:44,127 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:16:44,128 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-15 07:16:44,134 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:16:44,135 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-15 07:16:44,163 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:16:44,163 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 07:16:44,163 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:16:44,164 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 07:16:44,164 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=197, Unknown=0, NotChecked=0, Total=240 [2022-04-15 07:16:44,164 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-15 07:16:45,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:45,351 INFO L93 Difference]: Finished difference Result 115 states and 142 transitions. [2022-04-15 07:16:45,351 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 07:16:45,351 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-15 07:16:45,351 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:16:45,351 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-15 07:16:45,352 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2022-04-15 07:16:45,353 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-15 07:16:45,354 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 70 transitions. [2022-04-15 07:16:45,354 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 70 transitions. [2022-04-15 07:16:45,413 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-15 07:16:45,416 INFO L225 Difference]: With dead ends: 115 [2022-04-15 07:16:45,416 INFO L226 Difference]: Without dead ends: 113 [2022-04-15 07:16:45,416 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-15 07:16:45,416 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-15 07:16:45,417 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-15 07:16:45,418 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2022-04-15 07:16:45,475 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 109. [2022-04-15 07:16:45,475 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:16:45,475 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-15 07:16:45,481 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-15 07:16:45,483 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-15 07:16:45,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:45,487 INFO L93 Difference]: Finished difference Result 113 states and 140 transitions. [2022-04-15 07:16:45,488 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 140 transitions. [2022-04-15 07:16:45,488 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:16:45,488 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:16:45,488 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-15 07:16:45,488 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-15 07:16:45,491 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:45,491 INFO L93 Difference]: Finished difference Result 113 states and 140 transitions. [2022-04-15 07:16:45,491 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 140 transitions. [2022-04-15 07:16:45,491 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:16:45,492 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:16:45,492 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:16:45,492 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:16:45,493 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-15 07:16:45,496 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 133 transitions. [2022-04-15 07:16:45,496 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 133 transitions. Word has length 45 [2022-04-15 07:16:45,497 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:16:45,498 INFO L478 AbstractCegarLoop]: Abstraction has 109 states and 133 transitions. [2022-04-15 07:16:45,498 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-15 07:16:45,498 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 109 states and 133 transitions. [2022-04-15 07:16:45,653 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-15 07:16:45,653 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 133 transitions. [2022-04-15 07:16:45,653 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-15 07:16:45,653 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:16:45,654 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-15 07:16:45,672 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-15 07:16:45,854 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-15 07:16:45,854 INFO L403 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:16:45,855 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:16:45,855 INFO L85 PathProgramCache]: Analyzing trace with hash 1834363254, now seen corresponding path program 1 times [2022-04-15 07:16:45,855 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:16:45,855 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [139597717] [2022-04-15 07:16:45,855 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:16:45,855 INFO L85 PathProgramCache]: Analyzing trace with hash 1834363254, now seen corresponding path program 2 times [2022-04-15 07:16:45,855 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:16:45,855 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1392414646] [2022-04-15 07:16:45,855 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:16:45,856 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:16:45,866 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:16:45,866 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1511833849] [2022-04-15 07:16:45,866 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:16:45,866 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:16:45,866 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:16:45,872 INFO L229 MonitoredProcess]: Starting monitored process 9 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:16:45,873 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Waiting until timeout for monitored process [2022-04-15 07:16:45,911 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:16:45,912 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:16:45,912 INFO L263 TraceCheckSpWp]: Trace formula consists of 141 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-15 07:16:45,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:16:45,922 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:16:46,335 INFO L272 TraceCheckUtils]: 0: Hoare triple {4488#true} call ULTIMATE.init(); {4488#true} is VALID [2022-04-15 07:16:46,335 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-15 07:16:46,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-15 07:16:46,336 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4488#true} {4488#true} #81#return; {4488#true} is VALID [2022-04-15 07:16:46,336 INFO L272 TraceCheckUtils]: 4: Hoare triple {4488#true} call #t~ret6 := main(); {4488#true} is VALID [2022-04-15 07:16:46,336 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-15 07:16:46,336 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-15 07:16:46,336 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-15 07:16:46,337 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-15 07:16:46,337 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-15 07:16:46,337 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-15 07:16:46,337 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-15 07:16:46,337 INFO L290 TraceCheckUtils]: 12: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-15 07:16:46,338 INFO L290 TraceCheckUtils]: 13: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-15 07:16:46,338 INFO L290 TraceCheckUtils]: 14: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-15 07:16:46,338 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4488#true} {4525#(<= 1 main_~x~0)} #65#return; {4525#(<= 1 main_~x~0)} is VALID [2022-04-15 07:16:46,339 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-15 07:16:46,339 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-15 07:16:46,339 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-15 07:16:46,339 INFO L290 TraceCheckUtils]: 19: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-15 07:16:46,339 INFO L290 TraceCheckUtils]: 20: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-15 07:16:46,340 INFO L290 TraceCheckUtils]: 21: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-15 07:16:46,340 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-15 07:16:46,340 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-15 07:16:46,340 INFO L290 TraceCheckUtils]: 24: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-15 07:16:46,340 INFO L290 TraceCheckUtils]: 25: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-15 07:16:46,340 INFO L290 TraceCheckUtils]: 26: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-15 07:16:46,341 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-15 07:16:46,341 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-15 07:16:46,341 INFO L290 TraceCheckUtils]: 29: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-15 07:16:46,341 INFO L290 TraceCheckUtils]: 30: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-15 07:16:46,341 INFO L290 TraceCheckUtils]: 31: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-15 07:16:46,342 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-15 07:16:46,343 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-15 07:16:46,343 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-15 07:16:46,344 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-15 07:16:46,344 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-15 07:16:46,344 INFO L290 TraceCheckUtils]: 37: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-15 07:16:46,344 INFO L290 TraceCheckUtils]: 38: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-15 07:16:46,344 INFO L290 TraceCheckUtils]: 39: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-15 07:16:46,344 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-15 07:16:46,345 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-15 07:16:46,345 INFO L290 TraceCheckUtils]: 42: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-15 07:16:46,345 INFO L290 TraceCheckUtils]: 43: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-15 07:16:46,345 INFO L290 TraceCheckUtils]: 44: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-15 07:16:46,345 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-15 07:16:46,346 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-15 07:16:46,346 INFO L290 TraceCheckUtils]: 47: Hoare triple {4636#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4640#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:46,347 INFO L290 TraceCheckUtils]: 48: Hoare triple {4640#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4489#false} is VALID [2022-04-15 07:16:46,347 INFO L290 TraceCheckUtils]: 49: Hoare triple {4489#false} assume !false; {4489#false} is VALID [2022-04-15 07:16:46,347 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-15 07:16:46,348 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:16:46,571 INFO L290 TraceCheckUtils]: 49: Hoare triple {4489#false} assume !false; {4489#false} is VALID [2022-04-15 07:16:46,572 INFO L290 TraceCheckUtils]: 48: Hoare triple {4640#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4489#false} is VALID [2022-04-15 07:16:46,572 INFO L290 TraceCheckUtils]: 47: Hoare triple {4636#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4640#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:46,573 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-15 07:16:46,574 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-15 07:16:46,574 INFO L290 TraceCheckUtils]: 44: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-15 07:16:46,574 INFO L290 TraceCheckUtils]: 43: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-15 07:16:46,574 INFO L290 TraceCheckUtils]: 42: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-15 07:16:46,574 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-15 07:16:46,575 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-15 07:16:46,575 INFO L290 TraceCheckUtils]: 39: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-15 07:16:46,575 INFO L290 TraceCheckUtils]: 38: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-15 07:16:46,575 INFO L290 TraceCheckUtils]: 37: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-15 07:16:46,575 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-15 07:16:46,575 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-15 07:16:46,902 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-15 07:16:46,903 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-15 07:16:46,904 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-15 07:16:46,904 INFO L290 TraceCheckUtils]: 31: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-15 07:16:46,904 INFO L290 TraceCheckUtils]: 30: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-15 07:16:46,904 INFO L290 TraceCheckUtils]: 29: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-15 07:16:46,904 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-15 07:16:46,905 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-15 07:16:46,905 INFO L290 TraceCheckUtils]: 26: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-15 07:16:46,905 INFO L290 TraceCheckUtils]: 25: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-15 07:16:46,905 INFO L290 TraceCheckUtils]: 24: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-15 07:16:46,905 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-15 07:16:46,906 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-15 07:16:46,906 INFO L290 TraceCheckUtils]: 21: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-15 07:16:46,906 INFO L290 TraceCheckUtils]: 20: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-15 07:16:46,906 INFO L290 TraceCheckUtils]: 19: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-15 07:16:46,906 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-15 07:16:46,906 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-15 07:16:46,907 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-15 07:16:46,907 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4488#true} {4488#true} #65#return; {4488#true} is VALID [2022-04-15 07:16:46,907 INFO L290 TraceCheckUtils]: 14: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-15 07:16:46,907 INFO L290 TraceCheckUtils]: 13: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-15 07:16:46,907 INFO L290 TraceCheckUtils]: 12: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-15 07:16:46,907 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-15 07:16:46,907 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4488#true} {4488#true} #63#return; {4488#true} is VALID [2022-04-15 07:16:46,907 INFO L290 TraceCheckUtils]: 9: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-15 07:16:46,907 INFO L290 TraceCheckUtils]: 8: Hoare triple {4488#true} assume !(0 == ~cond); {4488#true} is VALID [2022-04-15 07:16:46,907 INFO L290 TraceCheckUtils]: 7: Hoare triple {4488#true} ~cond := #in~cond; {4488#true} is VALID [2022-04-15 07:16:46,907 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-15 07:16:46,908 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-15 07:16:46,908 INFO L272 TraceCheckUtils]: 4: Hoare triple {4488#true} call #t~ret6 := main(); {4488#true} is VALID [2022-04-15 07:16:46,908 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4488#true} {4488#true} #81#return; {4488#true} is VALID [2022-04-15 07:16:46,908 INFO L290 TraceCheckUtils]: 2: Hoare triple {4488#true} assume true; {4488#true} is VALID [2022-04-15 07:16:46,908 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-15 07:16:46,908 INFO L272 TraceCheckUtils]: 0: Hoare triple {4488#true} call ULTIMATE.init(); {4488#true} is VALID [2022-04-15 07:16:46,908 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-15 07:16:46,908 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:16:46,908 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1392414646] [2022-04-15 07:16:46,908 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:16:46,908 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1511833849] [2022-04-15 07:16:46,908 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1511833849] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:16:46,909 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:16:46,909 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 6] total 11 [2022-04-15 07:16:46,909 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:16:46,909 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [139597717] [2022-04-15 07:16:46,909 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [139597717] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:16:46,909 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:16:46,909 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 07:16:46,909 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [763019652] [2022-04-15 07:16:46,909 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:16:46,909 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-15 07:16:46,910 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:16:46,910 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-15 07:16:46,939 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-15 07:16:46,940 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 07:16:46,940 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:16:46,940 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 07:16:46,940 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=86, Unknown=0, NotChecked=0, Total=110 [2022-04-15 07:16:46,940 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-15 07:16:48,051 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:48,052 INFO L93 Difference]: Finished difference Result 134 states and 173 transitions. [2022-04-15 07:16:48,052 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 07:16:48,052 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-15 07:16:48,052 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:16:48,052 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-15 07:16:48,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 70 transitions. [2022-04-15 07:16:48,053 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-15 07:16:48,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 70 transitions. [2022-04-15 07:16:48,054 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 70 transitions. [2022-04-15 07:16:48,111 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-15 07:16:48,113 INFO L225 Difference]: With dead ends: 134 [2022-04-15 07:16:48,113 INFO L226 Difference]: Without dead ends: 128 [2022-04-15 07:16:48,114 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-15 07:16:48,114 INFO L913 BasicCegarLoop]: 36 mSDtfsCounter, 18 mSDsluCounter, 130 mSDsCounter, 0 mSdLazyCounter, 212 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-15 07:16:48,114 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.5s Time] [2022-04-15 07:16:48,115 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-04-15 07:16:48,218 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 128. [2022-04-15 07:16:48,218 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:16:48,218 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-15 07:16:48,218 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-15 07:16:48,219 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-15 07:16:48,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:48,221 INFO L93 Difference]: Finished difference Result 128 states and 162 transitions. [2022-04-15 07:16:48,222 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 162 transitions. [2022-04-15 07:16:48,222 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:16:48,222 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:16:48,222 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-15 07:16:48,222 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-15 07:16:48,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:48,225 INFO L93 Difference]: Finished difference Result 128 states and 162 transitions. [2022-04-15 07:16:48,226 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 162 transitions. [2022-04-15 07:16:48,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:16:48,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:16:48,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:16:48,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:16:48,226 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-15 07:16:48,229 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 162 transitions. [2022-04-15 07:16:48,229 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 162 transitions. Word has length 50 [2022-04-15 07:16:48,229 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:16:48,229 INFO L478 AbstractCegarLoop]: Abstraction has 128 states and 162 transitions. [2022-04-15 07:16:48,230 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-15 07:16:48,230 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 128 states and 162 transitions. [2022-04-15 07:16:48,411 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-15 07:16:48,412 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 162 transitions. [2022-04-15 07:16:48,412 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-15 07:16:48,412 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:16:48,412 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-15 07:16:48,430 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-04-15 07:16:48,613 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-15 07:16:48,613 INFO L403 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:16:48,615 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:16:48,615 INFO L85 PathProgramCache]: Analyzing trace with hash -152607915, now seen corresponding path program 1 times [2022-04-15 07:16:48,615 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:16:48,615 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1924882972] [2022-04-15 07:16:48,616 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:16:48,616 INFO L85 PathProgramCache]: Analyzing trace with hash -152607915, now seen corresponding path program 2 times [2022-04-15 07:16:48,616 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:16:48,616 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [181915125] [2022-04-15 07:16:48,616 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:16:48,616 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:16:48,639 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:16:48,639 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [711895958] [2022-04-15 07:16:48,639 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:16:48,639 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:16:48,639 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:16:48,640 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:16:48,641 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Waiting until timeout for monitored process [2022-04-15 07:16:48,679 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:16:48,679 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:16:48,680 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-15 07:16:48,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:16:48,691 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:16:48,978 INFO L272 TraceCheckUtils]: 0: Hoare triple {5582#true} call ULTIMATE.init(); {5582#true} is VALID [2022-04-15 07:16:48,979 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-15 07:16:48,979 INFO L290 TraceCheckUtils]: 2: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:48,981 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5582#true} {5582#true} #81#return; {5582#true} is VALID [2022-04-15 07:16:48,981 INFO L272 TraceCheckUtils]: 4: Hoare triple {5582#true} call #t~ret6 := main(); {5582#true} is VALID [2022-04-15 07:16:48,981 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-15 07:16:48,981 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-15 07:16:48,981 INFO L290 TraceCheckUtils]: 7: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:48,981 INFO L290 TraceCheckUtils]: 8: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:48,981 INFO L290 TraceCheckUtils]: 9: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:48,981 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5582#true} {5582#true} #63#return; {5582#true} is VALID [2022-04-15 07:16:48,981 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-15 07:16:48,981 INFO L290 TraceCheckUtils]: 12: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:48,981 INFO L290 TraceCheckUtils]: 13: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:48,981 INFO L290 TraceCheckUtils]: 14: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:48,981 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5582#true} {5582#true} #65#return; {5582#true} is VALID [2022-04-15 07:16:48,987 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-15 07:16:48,987 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-15 07:16:48,987 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-15 07:16:48,988 INFO L290 TraceCheckUtils]: 19: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:48,988 INFO L290 TraceCheckUtils]: 20: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:48,988 INFO L290 TraceCheckUtils]: 21: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:48,988 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-15 07:16:48,988 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-15 07:16:48,988 INFO L290 TraceCheckUtils]: 24: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:48,988 INFO L290 TraceCheckUtils]: 25: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:48,988 INFO L290 TraceCheckUtils]: 26: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:48,989 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-15 07:16:48,989 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-15 07:16:48,989 INFO L290 TraceCheckUtils]: 29: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:48,989 INFO L290 TraceCheckUtils]: 30: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:48,989 INFO L290 TraceCheckUtils]: 31: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:48,990 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-15 07:16:48,990 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-15 07:16:48,990 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-15 07:16:48,991 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-15 07:16:48,991 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-15 07:16:48,991 INFO L290 TraceCheckUtils]: 37: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:48,991 INFO L290 TraceCheckUtils]: 38: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:48,991 INFO L290 TraceCheckUtils]: 39: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:48,991 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-15 07:16:48,992 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-15 07:16:48,992 INFO L290 TraceCheckUtils]: 42: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:48,992 INFO L290 TraceCheckUtils]: 43: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:48,992 INFO L290 TraceCheckUtils]: 44: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:48,995 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-15 07:16:48,995 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-15 07:16:48,995 INFO L290 TraceCheckUtils]: 47: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:48,995 INFO L290 TraceCheckUtils]: 48: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:48,995 INFO L290 TraceCheckUtils]: 49: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:48,996 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-15 07:16:48,996 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-15 07:16:48,997 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-15 07:16:48,997 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-15 07:16:48,998 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-15 07:16:48,998 INFO L290 TraceCheckUtils]: 55: Hoare triple {5752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:48,998 INFO L290 TraceCheckUtils]: 56: Hoare triple {5756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5583#false} is VALID [2022-04-15 07:16:48,998 INFO L290 TraceCheckUtils]: 57: Hoare triple {5583#false} assume !false; {5583#false} is VALID [2022-04-15 07:16:48,999 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-15 07:16:48,999 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:16:49,193 INFO L290 TraceCheckUtils]: 57: Hoare triple {5583#false} assume !false; {5583#false} is VALID [2022-04-15 07:16:49,194 INFO L290 TraceCheckUtils]: 56: Hoare triple {5756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5583#false} is VALID [2022-04-15 07:16:49,194 INFO L290 TraceCheckUtils]: 55: Hoare triple {5752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:49,195 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-15 07:16:49,195 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-15 07:16:49,197 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-15 07:16:49,197 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-15 07:16:49,198 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-15 07:16:49,198 INFO L290 TraceCheckUtils]: 49: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:49,198 INFO L290 TraceCheckUtils]: 48: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:49,198 INFO L290 TraceCheckUtils]: 47: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:49,198 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-15 07:16:49,199 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-15 07:16:49,199 INFO L290 TraceCheckUtils]: 44: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:49,199 INFO L290 TraceCheckUtils]: 43: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:49,199 INFO L290 TraceCheckUtils]: 42: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:49,199 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-15 07:16:49,204 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-15 07:16:49,204 INFO L290 TraceCheckUtils]: 39: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:49,204 INFO L290 TraceCheckUtils]: 38: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:49,204 INFO L290 TraceCheckUtils]: 37: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:49,204 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-15 07:16:49,210 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-15 07:16:49,212 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-15 07:16:49,213 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-15 07:16:49,213 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-15 07:16:49,213 INFO L290 TraceCheckUtils]: 31: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:49,214 INFO L290 TraceCheckUtils]: 30: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:49,214 INFO L290 TraceCheckUtils]: 29: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:49,214 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-15 07:16:49,214 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-15 07:16:49,214 INFO L290 TraceCheckUtils]: 26: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:49,214 INFO L290 TraceCheckUtils]: 25: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:49,214 INFO L290 TraceCheckUtils]: 24: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:49,214 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-15 07:16:49,215 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-15 07:16:49,215 INFO L290 TraceCheckUtils]: 21: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:49,215 INFO L290 TraceCheckUtils]: 20: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:49,215 INFO L290 TraceCheckUtils]: 19: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:49,215 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-15 07:16:49,216 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-15 07:16:49,216 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-15 07:16:49,217 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5582#true} {5582#true} #65#return; {5582#true} is VALID [2022-04-15 07:16:49,217 INFO L290 TraceCheckUtils]: 14: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:49,217 INFO L290 TraceCheckUtils]: 13: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:49,217 INFO L290 TraceCheckUtils]: 12: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:49,217 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-15 07:16:49,217 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5582#true} {5582#true} #63#return; {5582#true} is VALID [2022-04-15 07:16:49,217 INFO L290 TraceCheckUtils]: 9: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:49,217 INFO L290 TraceCheckUtils]: 8: Hoare triple {5582#true} assume !(0 == ~cond); {5582#true} is VALID [2022-04-15 07:16:49,217 INFO L290 TraceCheckUtils]: 7: Hoare triple {5582#true} ~cond := #in~cond; {5582#true} is VALID [2022-04-15 07:16:49,217 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-15 07:16:49,217 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-15 07:16:49,217 INFO L272 TraceCheckUtils]: 4: Hoare triple {5582#true} call #t~ret6 := main(); {5582#true} is VALID [2022-04-15 07:16:49,217 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5582#true} {5582#true} #81#return; {5582#true} is VALID [2022-04-15 07:16:49,217 INFO L290 TraceCheckUtils]: 2: Hoare triple {5582#true} assume true; {5582#true} is VALID [2022-04-15 07:16:49,217 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-15 07:16:49,217 INFO L272 TraceCheckUtils]: 0: Hoare triple {5582#true} call ULTIMATE.init(); {5582#true} is VALID [2022-04-15 07:16:49,218 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-15 07:16:49,218 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:16:49,218 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [181915125] [2022-04-15 07:16:49,218 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:16:49,218 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [711895958] [2022-04-15 07:16:49,218 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [711895958] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-15 07:16:49,218 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-15 07:16:49,218 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [7] total 8 [2022-04-15 07:16:49,218 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:16:49,218 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1924882972] [2022-04-15 07:16:49,218 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1924882972] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:16:49,219 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:16:49,219 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-04-15 07:16:49,219 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1174907846] [2022-04-15 07:16:49,219 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:16:49,219 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-15 07:16:49,219 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:16:49,219 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 07:16:49,241 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:16:49,241 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-15 07:16:49,242 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:16:49,242 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-15 07:16:49,242 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=16, Invalid=40, Unknown=0, NotChecked=0, Total=56 [2022-04-15 07:16:49,242 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-15 07:16:49,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:49,469 INFO L93 Difference]: Finished difference Result 134 states and 167 transitions. [2022-04-15 07:16:49,469 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-15 07:16:49,470 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-15 07:16:49,470 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:16:49,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 07:16:49,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-15 07:16:49,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 07:16:49,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2022-04-15 07:16:49,471 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2022-04-15 07:16:49,502 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:16:49,504 INFO L225 Difference]: With dead ends: 134 [2022-04-15 07:16:49,504 INFO L226 Difference]: Without dead ends: 129 [2022-04-15 07:16:49,505 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-15 07:16:49,505 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-15 07:16:49,505 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-15 07:16:49,506 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-04-15 07:16:49,587 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 129. [2022-04-15 07:16:49,587 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:16:49,588 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-15 07:16:49,588 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-15 07:16:49,588 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-15 07:16:49,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:49,591 INFO L93 Difference]: Finished difference Result 129 states and 159 transitions. [2022-04-15 07:16:49,591 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 159 transitions. [2022-04-15 07:16:49,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:16:49,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:16:49,591 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-15 07:16:49,592 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-15 07:16:49,596 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:49,596 INFO L93 Difference]: Finished difference Result 129 states and 159 transitions. [2022-04-15 07:16:49,596 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 159 transitions. [2022-04-15 07:16:49,596 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:16:49,596 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:16:49,596 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:16:49,596 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:16:49,597 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-15 07:16:49,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 159 transitions. [2022-04-15 07:16:49,599 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 159 transitions. Word has length 58 [2022-04-15 07:16:49,600 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:16:49,600 INFO L478 AbstractCegarLoop]: Abstraction has 129 states and 159 transitions. [2022-04-15 07:16:49,600 INFO L479 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 3.4) internal successors, (17), 4 states have internal predecessors, (17), 2 states have call successors, (8), 2 states have call predecessors, (8), 1 states have return successors, (6), 2 states have call predecessors, (6), 2 states have call successors, (6) [2022-04-15 07:16:49,600 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 159 transitions. [2022-04-15 07:16:49,782 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-15 07:16:49,783 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 159 transitions. [2022-04-15 07:16:49,783 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-15 07:16:49,783 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:16:49,783 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-15 07:16:49,800 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Ended with exit code 0 [2022-04-15 07:16:49,994 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-15 07:16:49,994 INFO L403 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:16:49,995 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:16:49,995 INFO L85 PathProgramCache]: Analyzing trace with hash -1386725923, now seen corresponding path program 5 times [2022-04-15 07:16:49,995 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:16:49,995 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1217472840] [2022-04-15 07:16:49,995 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:16:49,995 INFO L85 PathProgramCache]: Analyzing trace with hash -1386725923, now seen corresponding path program 6 times [2022-04-15 07:16:49,995 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:16:49,995 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1850821796] [2022-04-15 07:16:49,995 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:16:49,996 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:16:50,007 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:16:50,007 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1275168241] [2022-04-15 07:16:50,007 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:16:50,007 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:16:50,007 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:16:50,011 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:16:50,013 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-15 07:16:50,059 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 07:16:50,059 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:16:50,060 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 34 conjunts are in the unsatisfiable core [2022-04-15 07:16:50,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:16:50,073 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:16:50,574 INFO L272 TraceCheckUtils]: 0: Hoare triple {6723#true} call ULTIMATE.init(); {6723#true} is VALID [2022-04-15 07:16:50,575 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-15 07:16:50,575 INFO L290 TraceCheckUtils]: 2: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:50,575 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6723#true} {6723#true} #81#return; {6723#true} is VALID [2022-04-15 07:16:50,575 INFO L272 TraceCheckUtils]: 4: Hoare triple {6723#true} call #t~ret6 := main(); {6723#true} is VALID [2022-04-15 07:16:50,575 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-15 07:16:50,575 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-15 07:16:50,575 INFO L290 TraceCheckUtils]: 7: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:50,575 INFO L290 TraceCheckUtils]: 8: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:50,575 INFO L290 TraceCheckUtils]: 9: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:50,575 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6723#true} {6723#true} #63#return; {6723#true} is VALID [2022-04-15 07:16:50,575 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-15 07:16:50,575 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-15 07:16:50,576 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-15 07:16:50,576 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-15 07:16:50,576 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-15 07:16:50,577 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-15 07:16:50,577 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-15 07:16:50,577 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-15 07:16:50,577 INFO L290 TraceCheckUtils]: 19: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:50,577 INFO L290 TraceCheckUtils]: 20: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:50,577 INFO L290 TraceCheckUtils]: 21: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:50,578 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-15 07:16:50,578 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-15 07:16:50,578 INFO L290 TraceCheckUtils]: 24: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:50,578 INFO L290 TraceCheckUtils]: 25: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:50,578 INFO L290 TraceCheckUtils]: 26: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:50,579 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-15 07:16:50,579 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-15 07:16:50,579 INFO L290 TraceCheckUtils]: 29: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:50,579 INFO L290 TraceCheckUtils]: 30: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:50,579 INFO L290 TraceCheckUtils]: 31: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:50,580 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-15 07:16:50,580 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-15 07:16:50,580 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-15 07:16:50,581 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-15 07:16:50,581 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-15 07:16:50,581 INFO L290 TraceCheckUtils]: 37: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:50,581 INFO L290 TraceCheckUtils]: 38: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:50,581 INFO L290 TraceCheckUtils]: 39: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:50,582 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-15 07:16:50,582 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-15 07:16:50,582 INFO L290 TraceCheckUtils]: 42: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:50,582 INFO L290 TraceCheckUtils]: 43: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:50,582 INFO L290 TraceCheckUtils]: 44: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:50,583 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-15 07:16:50,583 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-15 07:16:50,583 INFO L290 TraceCheckUtils]: 47: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:50,583 INFO L290 TraceCheckUtils]: 48: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:50,583 INFO L290 TraceCheckUtils]: 49: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:50,583 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-15 07:16:50,584 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-15 07:16:50,585 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-15 07:16:50,585 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-15 07:16:50,585 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-15 07:16:50,585 INFO L290 TraceCheckUtils]: 55: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:50,585 INFO L290 TraceCheckUtils]: 56: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:50,585 INFO L290 TraceCheckUtils]: 57: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:50,586 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-15 07:16:50,586 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-15 07:16:50,587 INFO L290 TraceCheckUtils]: 60: Hoare triple {6911#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6915#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:50,587 INFO L290 TraceCheckUtils]: 61: Hoare triple {6915#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6724#false} is VALID [2022-04-15 07:16:50,587 INFO L290 TraceCheckUtils]: 62: Hoare triple {6724#false} assume !false; {6724#false} is VALID [2022-04-15 07:16:50,587 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-15 07:16:50,587 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:16:50,867 INFO L290 TraceCheckUtils]: 62: Hoare triple {6724#false} assume !false; {6724#false} is VALID [2022-04-15 07:16:50,868 INFO L290 TraceCheckUtils]: 61: Hoare triple {6915#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6724#false} is VALID [2022-04-15 07:16:50,868 INFO L290 TraceCheckUtils]: 60: Hoare triple {6911#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6915#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:50,869 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-15 07:16:50,869 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-15 07:16:50,869 INFO L290 TraceCheckUtils]: 57: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:50,869 INFO L290 TraceCheckUtils]: 56: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:50,870 INFO L290 TraceCheckUtils]: 55: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:50,870 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-15 07:16:50,870 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-15 07:16:51,051 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-15 07:16:51,051 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-15 07:16:51,052 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-15 07:16:51,052 INFO L290 TraceCheckUtils]: 49: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:51,052 INFO L290 TraceCheckUtils]: 48: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:51,052 INFO L290 TraceCheckUtils]: 47: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:51,052 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-15 07:16:51,053 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-15 07:16:51,053 INFO L290 TraceCheckUtils]: 44: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:51,053 INFO L290 TraceCheckUtils]: 43: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:51,053 INFO L290 TraceCheckUtils]: 42: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:51,053 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-15 07:16:51,054 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-15 07:16:51,054 INFO L290 TraceCheckUtils]: 39: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:51,054 INFO L290 TraceCheckUtils]: 38: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:51,054 INFO L290 TraceCheckUtils]: 37: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:51,054 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-15 07:16:51,054 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-15 07:16:51,277 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-15 07:16:51,277 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-15 07:16:51,278 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-15 07:16:51,278 INFO L290 TraceCheckUtils]: 31: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:51,278 INFO L290 TraceCheckUtils]: 30: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:51,278 INFO L290 TraceCheckUtils]: 29: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:51,278 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-15 07:16:51,279 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-15 07:16:51,279 INFO L290 TraceCheckUtils]: 26: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:51,279 INFO L290 TraceCheckUtils]: 25: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:51,279 INFO L290 TraceCheckUtils]: 24: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:51,279 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-15 07:16:51,279 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-15 07:16:51,279 INFO L290 TraceCheckUtils]: 21: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:51,280 INFO L290 TraceCheckUtils]: 20: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:51,280 INFO L290 TraceCheckUtils]: 19: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:51,280 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-15 07:16:51,280 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-15 07:16:51,280 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-15 07:16:51,281 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {6723#true} {6723#true} #65#return; {6723#true} is VALID [2022-04-15 07:16:51,281 INFO L290 TraceCheckUtils]: 14: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:51,281 INFO L290 TraceCheckUtils]: 13: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:51,281 INFO L290 TraceCheckUtils]: 12: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:51,281 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-15 07:16:51,281 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {6723#true} {6723#true} #63#return; {6723#true} is VALID [2022-04-15 07:16:51,281 INFO L290 TraceCheckUtils]: 9: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:51,281 INFO L290 TraceCheckUtils]: 8: Hoare triple {6723#true} assume !(0 == ~cond); {6723#true} is VALID [2022-04-15 07:16:51,281 INFO L290 TraceCheckUtils]: 7: Hoare triple {6723#true} ~cond := #in~cond; {6723#true} is VALID [2022-04-15 07:16:51,281 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-15 07:16:51,281 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-15 07:16:51,281 INFO L272 TraceCheckUtils]: 4: Hoare triple {6723#true} call #t~ret6 := main(); {6723#true} is VALID [2022-04-15 07:16:51,281 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6723#true} {6723#true} #81#return; {6723#true} is VALID [2022-04-15 07:16:51,281 INFO L290 TraceCheckUtils]: 2: Hoare triple {6723#true} assume true; {6723#true} is VALID [2022-04-15 07:16:51,281 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-15 07:16:51,281 INFO L272 TraceCheckUtils]: 0: Hoare triple {6723#true} call ULTIMATE.init(); {6723#true} is VALID [2022-04-15 07:16:51,282 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-15 07:16:51,282 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:16:51,282 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1850821796] [2022-04-15 07:16:51,282 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:16:51,282 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1275168241] [2022-04-15 07:16:51,282 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1275168241] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:16:51,282 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:16:51,282 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 7] total 13 [2022-04-15 07:16:51,282 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:16:51,282 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1217472840] [2022-04-15 07:16:51,282 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1217472840] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:16:51,282 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:16:51,283 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 07:16:51,283 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [323851956] [2022-04-15 07:16:51,283 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:16:51,283 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-15 07:16:51,283 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:16:51,283 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-15 07:16:51,316 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-15 07:16:51,316 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 07:16:51,316 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:16:51,316 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 07:16:51,316 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=33, Invalid=123, Unknown=0, NotChecked=0, Total=156 [2022-04-15 07:16:51,316 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-15 07:16:52,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:52,459 INFO L93 Difference]: Finished difference Result 163 states and 201 transitions. [2022-04-15 07:16:52,459 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 07:16:52,459 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-15 07:16:52,459 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:16:52,459 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-15 07:16:52,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-15 07:16:52,460 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-15 07:16:52,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 80 transitions. [2022-04-15 07:16:52,461 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 80 transitions. [2022-04-15 07:16:52,536 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-15 07:16:52,538 INFO L225 Difference]: With dead ends: 163 [2022-04-15 07:16:52,538 INFO L226 Difference]: Without dead ends: 161 [2022-04-15 07:16:52,539 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-15 07:16:52,539 INFO L913 BasicCegarLoop]: 45 mSDtfsCounter, 20 mSDsluCounter, 129 mSDsCounter, 0 mSdLazyCounter, 270 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s 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.5s IncrementalHoareTripleChecker+Time [2022-04-15 07:16:52,539 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.5s Time] [2022-04-15 07:16:52,539 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 161 states. [2022-04-15 07:16:52,672 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 161 to 147. [2022-04-15 07:16:52,673 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:16:52,673 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-15 07:16:52,673 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-15 07:16:52,674 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-15 07:16:52,676 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:52,676 INFO L93 Difference]: Finished difference Result 161 states and 199 transitions. [2022-04-15 07:16:52,677 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 199 transitions. [2022-04-15 07:16:52,677 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:16:52,677 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:16:52,677 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-15 07:16:52,677 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-15 07:16:52,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:52,680 INFO L93 Difference]: Finished difference Result 161 states and 199 transitions. [2022-04-15 07:16:52,680 INFO L276 IsEmpty]: Start isEmpty. Operand 161 states and 199 transitions. [2022-04-15 07:16:52,680 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:16:52,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:16:52,681 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:16:52,681 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:16:52,681 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-15 07:16:52,683 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 147 states to 147 states and 178 transitions. [2022-04-15 07:16:52,683 INFO L78 Accepts]: Start accepts. Automaton has 147 states and 178 transitions. Word has length 63 [2022-04-15 07:16:52,684 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:16:52,684 INFO L478 AbstractCegarLoop]: Abstraction has 147 states and 178 transitions. [2022-04-15 07:16:52,684 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-15 07:16:52,684 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 147 states and 178 transitions. [2022-04-15 07:16:52,911 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-15 07:16:52,911 INFO L276 IsEmpty]: Start isEmpty. Operand 147 states and 178 transitions. [2022-04-15 07:16:52,912 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 64 [2022-04-15 07:16:52,912 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:16:52,912 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-15 07:16:52,935 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-15 07:16:53,112 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-15 07:16:53,113 INFO L403 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:16:53,113 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:16:53,113 INFO L85 PathProgramCache]: Analyzing trace with hash -522529, now seen corresponding path program 3 times [2022-04-15 07:16:53,113 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:16:53,113 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1623673551] [2022-04-15 07:16:53,113 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:16:53,113 INFO L85 PathProgramCache]: Analyzing trace with hash -522529, now seen corresponding path program 4 times [2022-04-15 07:16:53,114 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:16:53,114 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1637605711] [2022-04-15 07:16:53,114 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:16:53,114 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:16:53,122 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:16:53,122 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [2117105580] [2022-04-15 07:16:53,122 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:16:53,122 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:16:53,122 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:16:53,124 INFO L229 MonitoredProcess]: Starting monitored process 12 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:16:53,125 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Waiting until timeout for monitored process [2022-04-15 07:16:53,163 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:16:53,164 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:16:53,165 INFO L263 TraceCheckSpWp]: Trace formula consists of 137 conjuncts, 27 conjunts are in the unsatisfiable core [2022-04-15 07:16:53,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:16:53,181 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:16:53,556 INFO L272 TraceCheckUtils]: 0: Hoare triple {8059#true} call ULTIMATE.init(); {8059#true} is VALID [2022-04-15 07:16:53,557 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-15 07:16:53,557 INFO L290 TraceCheckUtils]: 2: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:53,557 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8059#true} {8059#true} #81#return; {8059#true} is VALID [2022-04-15 07:16:53,557 INFO L272 TraceCheckUtils]: 4: Hoare triple {8059#true} call #t~ret6 := main(); {8059#true} is VALID [2022-04-15 07:16:53,557 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-15 07:16:53,557 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-15 07:16:53,557 INFO L290 TraceCheckUtils]: 7: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:53,557 INFO L290 TraceCheckUtils]: 8: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:53,557 INFO L290 TraceCheckUtils]: 9: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:53,557 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8059#true} {8059#true} #63#return; {8059#true} is VALID [2022-04-15 07:16:53,557 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-15 07:16:53,557 INFO L290 TraceCheckUtils]: 12: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:53,557 INFO L290 TraceCheckUtils]: 13: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:53,557 INFO L290 TraceCheckUtils]: 14: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:53,557 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8059#true} {8059#true} #65#return; {8059#true} is VALID [2022-04-15 07:16:53,569 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-15 07:16:53,569 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-15 07:16:53,570 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-15 07:16:53,570 INFO L290 TraceCheckUtils]: 19: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:53,570 INFO L290 TraceCheckUtils]: 20: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:53,570 INFO L290 TraceCheckUtils]: 21: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:53,570 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-15 07:16:53,570 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-15 07:16:53,570 INFO L290 TraceCheckUtils]: 24: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:53,571 INFO L290 TraceCheckUtils]: 25: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:53,571 INFO L290 TraceCheckUtils]: 26: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:53,571 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-15 07:16:53,571 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-15 07:16:53,571 INFO L290 TraceCheckUtils]: 29: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:53,571 INFO L290 TraceCheckUtils]: 30: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:53,571 INFO L290 TraceCheckUtils]: 31: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:53,572 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-15 07:16:53,572 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-15 07:16:53,573 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-15 07:16:53,573 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-15 07:16:53,573 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-15 07:16:53,573 INFO L290 TraceCheckUtils]: 37: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:53,573 INFO L290 TraceCheckUtils]: 38: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:53,573 INFO L290 TraceCheckUtils]: 39: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:53,574 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-15 07:16:53,574 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-15 07:16:53,574 INFO L290 TraceCheckUtils]: 42: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:53,574 INFO L290 TraceCheckUtils]: 43: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:53,574 INFO L290 TraceCheckUtils]: 44: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:53,575 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-15 07:16:53,576 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-15 07:16:53,576 INFO L290 TraceCheckUtils]: 47: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:53,576 INFO L290 TraceCheckUtils]: 48: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:53,576 INFO L290 TraceCheckUtils]: 49: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:53,577 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-15 07:16:53,577 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-15 07:16:53,578 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-15 07:16:53,579 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-15 07:16:53,579 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-15 07:16:53,579 INFO L290 TraceCheckUtils]: 55: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:53,579 INFO L290 TraceCheckUtils]: 56: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:53,579 INFO L290 TraceCheckUtils]: 57: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:53,579 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-15 07:16:53,580 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-15 07:16:53,580 INFO L290 TraceCheckUtils]: 60: Hoare triple {8244#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8248#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:53,581 INFO L290 TraceCheckUtils]: 61: Hoare triple {8248#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8060#false} is VALID [2022-04-15 07:16:53,581 INFO L290 TraceCheckUtils]: 62: Hoare triple {8060#false} assume !false; {8060#false} is VALID [2022-04-15 07:16:53,581 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-15 07:16:53,581 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:16:53,805 INFO L290 TraceCheckUtils]: 62: Hoare triple {8060#false} assume !false; {8060#false} is VALID [2022-04-15 07:16:53,805 INFO L290 TraceCheckUtils]: 61: Hoare triple {8248#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {8060#false} is VALID [2022-04-15 07:16:53,806 INFO L290 TraceCheckUtils]: 60: Hoare triple {8244#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {8248#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:53,806 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-15 07:16:53,807 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-15 07:16:53,807 INFO L290 TraceCheckUtils]: 57: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:53,807 INFO L290 TraceCheckUtils]: 56: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:53,807 INFO L290 TraceCheckUtils]: 55: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:53,807 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-15 07:16:53,817 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-15 07:16:54,039 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-15 07:16:54,039 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-15 07:16:54,040 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-15 07:16:54,040 INFO L290 TraceCheckUtils]: 49: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:54,040 INFO L290 TraceCheckUtils]: 48: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:54,040 INFO L290 TraceCheckUtils]: 47: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:54,040 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-15 07:16:54,041 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-15 07:16:54,041 INFO L290 TraceCheckUtils]: 44: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:54,041 INFO L290 TraceCheckUtils]: 43: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:54,041 INFO L290 TraceCheckUtils]: 42: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:54,041 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-15 07:16:54,042 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-15 07:16:54,042 INFO L290 TraceCheckUtils]: 39: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:54,042 INFO L290 TraceCheckUtils]: 38: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:54,042 INFO L290 TraceCheckUtils]: 37: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:54,042 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-15 07:16:54,042 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-15 07:16:54,813 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-15 07:16:54,814 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-15 07:16:54,814 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-15 07:16:54,814 INFO L290 TraceCheckUtils]: 31: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:54,814 INFO L290 TraceCheckUtils]: 30: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:54,814 INFO L290 TraceCheckUtils]: 29: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:54,814 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-15 07:16:54,821 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-15 07:16:54,821 INFO L290 TraceCheckUtils]: 26: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:54,821 INFO L290 TraceCheckUtils]: 25: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:54,821 INFO L290 TraceCheckUtils]: 24: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:54,821 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-15 07:16:54,822 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-15 07:16:54,822 INFO L290 TraceCheckUtils]: 21: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:54,822 INFO L290 TraceCheckUtils]: 20: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:54,822 INFO L290 TraceCheckUtils]: 19: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:54,822 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-15 07:16:54,822 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-15 07:16:54,823 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-15 07:16:54,823 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8059#true} {8059#true} #65#return; {8059#true} is VALID [2022-04-15 07:16:54,823 INFO L290 TraceCheckUtils]: 14: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:54,823 INFO L290 TraceCheckUtils]: 13: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:54,823 INFO L290 TraceCheckUtils]: 12: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:54,823 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-15 07:16:54,823 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8059#true} {8059#true} #63#return; {8059#true} is VALID [2022-04-15 07:16:54,823 INFO L290 TraceCheckUtils]: 9: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:54,823 INFO L290 TraceCheckUtils]: 8: Hoare triple {8059#true} assume !(0 == ~cond); {8059#true} is VALID [2022-04-15 07:16:54,823 INFO L290 TraceCheckUtils]: 7: Hoare triple {8059#true} ~cond := #in~cond; {8059#true} is VALID [2022-04-15 07:16:54,823 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-15 07:16:54,823 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-15 07:16:54,824 INFO L272 TraceCheckUtils]: 4: Hoare triple {8059#true} call #t~ret6 := main(); {8059#true} is VALID [2022-04-15 07:16:54,824 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8059#true} {8059#true} #81#return; {8059#true} is VALID [2022-04-15 07:16:54,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {8059#true} assume true; {8059#true} is VALID [2022-04-15 07:16:54,824 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-15 07:16:54,824 INFO L272 TraceCheckUtils]: 0: Hoare triple {8059#true} call ULTIMATE.init(); {8059#true} is VALID [2022-04-15 07:16:54,824 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-15 07:16:54,824 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:16:54,824 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1637605711] [2022-04-15 07:16:54,824 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:16:54,824 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2117105580] [2022-04-15 07:16:54,824 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2117105580] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:16:54,824 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:16:54,824 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 7] total 10 [2022-04-15 07:16:54,825 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:16:54,825 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1623673551] [2022-04-15 07:16:54,825 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1623673551] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:16:54,825 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:16:54,825 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-15 07:16:54,825 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1415293216] [2022-04-15 07:16:54,825 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:16:54,825 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-15 07:16:54,826 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:16:54,826 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-15 07:16:54,860 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:16:54,860 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-15 07:16:54,860 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:16:54,861 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-15 07:16:54,861 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=66, Unknown=0, NotChecked=0, Total=90 [2022-04-15 07:16:54,861 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-15 07:16:55,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:55,524 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-15 07:16:55,524 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-15 07:16:55,525 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-15 07:16:55,525 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:16:55,525 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-15 07:16:55,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2022-04-15 07:16:55,526 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-15 07:16:55,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2022-04-15 07:16:55,527 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 80 transitions. [2022-04-15 07:16:55,602 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-15 07:16:55,605 INFO L225 Difference]: With dead ends: 185 [2022-04-15 07:16:55,605 INFO L226 Difference]: Without dead ends: 183 [2022-04-15 07:16:55,606 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-15 07:16:55,606 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-15 07:16:55,606 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-15 07:16:55,607 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 183 states. [2022-04-15 07:16:55,725 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 183 to 169. [2022-04-15 07:16:55,725 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:16:55,725 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-15 07:16:55,726 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-15 07:16:55,726 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-15 07:16:55,729 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:55,729 INFO L93 Difference]: Finished difference Result 183 states and 221 transitions. [2022-04-15 07:16:55,729 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 221 transitions. [2022-04-15 07:16:55,730 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:16:55,730 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:16:55,730 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-15 07:16:55,730 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-15 07:16:55,733 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:16:55,733 INFO L93 Difference]: Finished difference Result 183 states and 221 transitions. [2022-04-15 07:16:55,733 INFO L276 IsEmpty]: Start isEmpty. Operand 183 states and 221 transitions. [2022-04-15 07:16:55,734 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:16:55,734 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:16:55,734 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:16:55,734 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:16:55,734 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-15 07:16:55,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 169 states to 169 states and 200 transitions. [2022-04-15 07:16:55,737 INFO L78 Accepts]: Start accepts. Automaton has 169 states and 200 transitions. Word has length 63 [2022-04-15 07:16:55,737 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:16:55,737 INFO L478 AbstractCegarLoop]: Abstraction has 169 states and 200 transitions. [2022-04-15 07:16:55,737 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-15 07:16:55,737 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 169 states and 200 transitions. [2022-04-15 07:16:55,995 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-15 07:16:55,996 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 200 transitions. [2022-04-15 07:16:55,996 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-15 07:16:55,996 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:16:55,997 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-15 07:16:56,015 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Ended with exit code 0 [2022-04-15 07:16:56,197 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-15 07:16:56,197 INFO L403 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:16:56,197 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:16:56,197 INFO L85 PathProgramCache]: Analyzing trace with hash 1383919957, now seen corresponding path program 5 times [2022-04-15 07:16:56,197 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:16:56,198 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1656382661] [2022-04-15 07:16:56,198 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:16:56,198 INFO L85 PathProgramCache]: Analyzing trace with hash 1383919957, now seen corresponding path program 6 times [2022-04-15 07:16:56,198 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:16:56,198 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [371364955] [2022-04-15 07:16:56,198 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:16:56,198 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:16:56,207 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:16:56,207 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [458984315] [2022-04-15 07:16:56,207 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:16:56,207 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:16:56,207 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:16:56,208 INFO L229 MonitoredProcess]: Starting monitored process 13 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:16:56,216 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Waiting until timeout for monitored process [2022-04-15 07:16:56,254 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 07:16:56,254 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:16:56,255 INFO L263 TraceCheckSpWp]: Trace formula consists of 177 conjuncts, 36 conjunts are in the unsatisfiable core [2022-04-15 07:16:56,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:16:56,265 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:16:56,698 INFO L272 TraceCheckUtils]: 0: Hoare triple {9522#true} call ULTIMATE.init(); {9522#true} is VALID [2022-04-15 07:16:56,698 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-15 07:16:56,698 INFO L290 TraceCheckUtils]: 2: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:16:56,698 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9522#true} {9522#true} #81#return; {9522#true} is VALID [2022-04-15 07:16:56,698 INFO L272 TraceCheckUtils]: 4: Hoare triple {9522#true} call #t~ret6 := main(); {9522#true} is VALID [2022-04-15 07:16:56,698 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-15 07:16:56,698 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-15 07:16:56,698 INFO L290 TraceCheckUtils]: 7: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:16:56,699 INFO L290 TraceCheckUtils]: 8: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:16:56,699 INFO L290 TraceCheckUtils]: 9: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:16:56,699 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9522#true} {9522#true} #63#return; {9522#true} is VALID [2022-04-15 07:16:56,699 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-15 07:16:56,699 INFO L290 TraceCheckUtils]: 12: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:16:56,699 INFO L290 TraceCheckUtils]: 13: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:16:56,699 INFO L290 TraceCheckUtils]: 14: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:16:56,699 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9522#true} {9522#true} #65#return; {9522#true} is VALID [2022-04-15 07:16:56,699 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-15 07:16:56,700 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-15 07:16:56,700 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-15 07:16:56,700 INFO L290 TraceCheckUtils]: 19: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:16:56,700 INFO L290 TraceCheckUtils]: 20: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:16:56,700 INFO L290 TraceCheckUtils]: 21: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:16:56,701 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-15 07:16:56,701 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-15 07:16:56,701 INFO L290 TraceCheckUtils]: 24: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:16:56,701 INFO L290 TraceCheckUtils]: 25: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:16:56,701 INFO L290 TraceCheckUtils]: 26: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:16:56,702 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-15 07:16:56,702 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-15 07:16:56,702 INFO L290 TraceCheckUtils]: 29: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:16:56,702 INFO L290 TraceCheckUtils]: 30: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:16:56,702 INFO L290 TraceCheckUtils]: 31: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:16:56,703 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-15 07:16:56,703 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-15 07:16:56,704 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-15 07:16:56,704 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-15 07:16:56,704 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-15 07:16:56,704 INFO L290 TraceCheckUtils]: 37: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:16:56,704 INFO L290 TraceCheckUtils]: 38: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:16:56,704 INFO L290 TraceCheckUtils]: 39: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:16:56,705 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-15 07:16:56,705 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-15 07:16:56,705 INFO L290 TraceCheckUtils]: 42: Hoare triple {9522#true} ~cond := #in~cond; {9655#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:56,706 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-15 07:16:56,706 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-15 07:16:56,707 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-15 07:16:56,707 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-15 07:16:56,707 INFO L290 TraceCheckUtils]: 47: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:16:56,707 INFO L290 TraceCheckUtils]: 48: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:16:56,707 INFO L290 TraceCheckUtils]: 49: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:16:56,708 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-15 07:16:56,708 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-15 07:16:56,709 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-15 07:16:56,709 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-15 07:16:56,710 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-15 07:16:56,710 INFO L290 TraceCheckUtils]: 55: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:16:56,710 INFO L290 TraceCheckUtils]: 56: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:16:56,710 INFO L290 TraceCheckUtils]: 57: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:16:56,710 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-15 07:16:56,710 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-15 07:16:56,711 INFO L290 TraceCheckUtils]: 60: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:16:56,711 INFO L290 TraceCheckUtils]: 61: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:16:56,711 INFO L290 TraceCheckUtils]: 62: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:16:56,711 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-15 07:16:56,712 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-15 07:16:56,712 INFO L290 TraceCheckUtils]: 65: Hoare triple {9724#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9728#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:16:56,713 INFO L290 TraceCheckUtils]: 66: Hoare triple {9728#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9523#false} is VALID [2022-04-15 07:16:56,713 INFO L290 TraceCheckUtils]: 67: Hoare triple {9523#false} assume !false; {9523#false} is VALID [2022-04-15 07:16:56,713 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-15 07:16:56,713 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:17:08,402 INFO L290 TraceCheckUtils]: 67: Hoare triple {9523#false} assume !false; {9523#false} is VALID [2022-04-15 07:17:08,402 INFO L290 TraceCheckUtils]: 66: Hoare triple {9728#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9523#false} is VALID [2022-04-15 07:17:08,403 INFO L290 TraceCheckUtils]: 65: Hoare triple {9724#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9728#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:17:08,403 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-15 07:17:08,404 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-15 07:17:08,404 INFO L290 TraceCheckUtils]: 62: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:17:08,404 INFO L290 TraceCheckUtils]: 61: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:17:08,404 INFO L290 TraceCheckUtils]: 60: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:17:08,404 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-15 07:17:08,405 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-15 07:17:08,405 INFO L290 TraceCheckUtils]: 57: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:17:08,405 INFO L290 TraceCheckUtils]: 56: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:17:08,405 INFO L290 TraceCheckUtils]: 55: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:17:08,405 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-15 07:17:08,405 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-15 07:17:08,755 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-15 07:17:08,756 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-15 07:17:08,757 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-15 07:17:08,757 INFO L290 TraceCheckUtils]: 49: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:17:08,757 INFO L290 TraceCheckUtils]: 48: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:17:08,757 INFO L290 TraceCheckUtils]: 47: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:17:08,757 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-15 07:17:08,758 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-15 07:17:08,758 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-15 07:17:08,758 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-15 07:17:08,759 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-15 07:17:08,759 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-15 07:17:08,759 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-15 07:17:08,759 INFO L290 TraceCheckUtils]: 39: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:17:08,759 INFO L290 TraceCheckUtils]: 38: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:17:08,759 INFO L290 TraceCheckUtils]: 37: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:17:08,759 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-15 07:17:08,760 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-15 07:17:08,838 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-15 07:17:08,839 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-15 07:17:08,840 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-15 07:17:08,840 INFO L290 TraceCheckUtils]: 31: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:17:08,840 INFO L290 TraceCheckUtils]: 30: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:17:08,840 INFO L290 TraceCheckUtils]: 29: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:17:08,840 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-15 07:17:08,841 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-15 07:17:08,841 INFO L290 TraceCheckUtils]: 26: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:17:08,841 INFO L290 TraceCheckUtils]: 25: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:17:08,841 INFO L290 TraceCheckUtils]: 24: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:17:08,841 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-15 07:17:08,841 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-15 07:17:08,841 INFO L290 TraceCheckUtils]: 21: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:17:08,841 INFO L290 TraceCheckUtils]: 20: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:17:08,842 INFO L290 TraceCheckUtils]: 19: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:17:08,842 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-15 07:17:08,842 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-15 07:17:08,843 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-15 07:17:08,843 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9522#true} {9522#true} #65#return; {9522#true} is VALID [2022-04-15 07:17:08,843 INFO L290 TraceCheckUtils]: 14: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:17:08,843 INFO L290 TraceCheckUtils]: 13: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:17:08,843 INFO L290 TraceCheckUtils]: 12: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:17:08,843 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-15 07:17:08,843 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9522#true} {9522#true} #63#return; {9522#true} is VALID [2022-04-15 07:17:08,843 INFO L290 TraceCheckUtils]: 9: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:17:08,843 INFO L290 TraceCheckUtils]: 8: Hoare triple {9522#true} assume !(0 == ~cond); {9522#true} is VALID [2022-04-15 07:17:08,843 INFO L290 TraceCheckUtils]: 7: Hoare triple {9522#true} ~cond := #in~cond; {9522#true} is VALID [2022-04-15 07:17:08,843 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-15 07:17:08,843 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-15 07:17:08,843 INFO L272 TraceCheckUtils]: 4: Hoare triple {9522#true} call #t~ret6 := main(); {9522#true} is VALID [2022-04-15 07:17:08,843 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9522#true} {9522#true} #81#return; {9522#true} is VALID [2022-04-15 07:17:08,843 INFO L290 TraceCheckUtils]: 2: Hoare triple {9522#true} assume true; {9522#true} is VALID [2022-04-15 07:17:08,844 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-15 07:17:08,844 INFO L272 TraceCheckUtils]: 0: Hoare triple {9522#true} call ULTIMATE.init(); {9522#true} is VALID [2022-04-15 07:17:08,844 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-15 07:17:08,844 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:17:08,844 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [371364955] [2022-04-15 07:17:08,844 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:17:08,844 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [458984315] [2022-04-15 07:17:08,844 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [458984315] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:17:08,844 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:17:08,844 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-15 07:17:08,845 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:17:08,845 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1656382661] [2022-04-15 07:17:08,845 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1656382661] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:17:08,845 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:17:08,845 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 07:17:08,845 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1096404636] [2022-04-15 07:17:08,845 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:17:08,845 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-15 07:17:08,845 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:17:08,845 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-15 07:17:08,892 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-15 07:17:08,892 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 07:17:08,892 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:17:08,893 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 07:17:08,893 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=139, Unknown=0, NotChecked=0, Total=182 [2022-04-15 07:17:08,893 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-15 07:17:09,820 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:17:09,820 INFO L93 Difference]: Finished difference Result 191 states and 234 transitions. [2022-04-15 07:17:09,820 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 07:17:09,821 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-15 07:17:09,821 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:17:09,821 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-15 07:17:09,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-15 07:17:09,822 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-15 07:17:09,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-15 07:17:09,823 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 80 transitions. [2022-04-15 07:17:09,912 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-15 07:17:09,915 INFO L225 Difference]: With dead ends: 191 [2022-04-15 07:17:09,915 INFO L226 Difference]: Without dead ends: 185 [2022-04-15 07:17:09,915 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 121 SyntacticMatches, 2 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=56, Invalid=184, Unknown=0, NotChecked=0, Total=240 [2022-04-15 07:17:09,916 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-15 07:17:09,916 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-15 07:17:09,916 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 185 states. [2022-04-15 07:17:10,054 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 185 to 172. [2022-04-15 07:17:10,054 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:17:10,054 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-15 07:17:10,055 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-15 07:17:10,055 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-15 07:17:10,073 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:17:10,074 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-15 07:17:10,074 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 223 transitions. [2022-04-15 07:17:10,080 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:17:10,080 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:17:10,081 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-15 07:17:10,081 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-15 07:17:10,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:17:10,088 INFO L93 Difference]: Finished difference Result 185 states and 223 transitions. [2022-04-15 07:17:10,088 INFO L276 IsEmpty]: Start isEmpty. Operand 185 states and 223 transitions. [2022-04-15 07:17:10,088 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:17:10,088 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:17:10,088 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:17:10,088 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:17:10,089 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-15 07:17:10,093 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 205 transitions. [2022-04-15 07:17:10,094 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 205 transitions. Word has length 68 [2022-04-15 07:17:10,094 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:17:10,094 INFO L478 AbstractCegarLoop]: Abstraction has 172 states and 205 transitions. [2022-04-15 07:17:10,098 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-15 07:17:10,098 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 172 states and 205 transitions. [2022-04-15 07:17:10,425 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-15 07:17:10,426 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 205 transitions. [2022-04-15 07:17:10,426 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 69 [2022-04-15 07:17:10,426 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:17:10,426 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-15 07:17:10,443 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-04-15 07:17:10,626 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-15 07:17:10,627 INFO L403 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:17:10,627 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:17:10,627 INFO L85 PathProgramCache]: Analyzing trace with hash -860063341, now seen corresponding path program 3 times [2022-04-15 07:17:10,627 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:17:10,627 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1995870361] [2022-04-15 07:17:10,628 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:17:10,628 INFO L85 PathProgramCache]: Analyzing trace with hash -860063341, now seen corresponding path program 4 times [2022-04-15 07:17:10,628 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:17:10,628 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1775673760] [2022-04-15 07:17:10,628 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:17:10,628 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:17:10,636 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:17:10,636 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [601977967] [2022-04-15 07:17:10,636 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:17:10,636 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:17:10,636 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:17:10,637 INFO L229 MonitoredProcess]: Starting monitored process 14 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:17:10,638 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Waiting until timeout for monitored process [2022-04-15 07:17:10,676 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:17:10,676 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:17:10,677 INFO L263 TraceCheckSpWp]: Trace formula consists of 146 conjuncts, 32 conjunts are in the unsatisfiable core [2022-04-15 07:17:10,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:17:10,688 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:17:11,129 INFO L272 TraceCheckUtils]: 0: Hoare triple {11043#true} call ULTIMATE.init(); {11043#true} is VALID [2022-04-15 07:17:11,130 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-15 07:17:11,130 INFO L290 TraceCheckUtils]: 2: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:11,130 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11043#true} {11043#true} #81#return; {11043#true} is VALID [2022-04-15 07:17:11,130 INFO L272 TraceCheckUtils]: 4: Hoare triple {11043#true} call #t~ret6 := main(); {11043#true} is VALID [2022-04-15 07:17:11,130 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-15 07:17:11,130 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-15 07:17:11,130 INFO L290 TraceCheckUtils]: 7: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:11,130 INFO L290 TraceCheckUtils]: 8: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:11,130 INFO L290 TraceCheckUtils]: 9: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:11,130 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11043#true} {11043#true} #63#return; {11043#true} is VALID [2022-04-15 07:17:11,130 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-15 07:17:11,130 INFO L290 TraceCheckUtils]: 12: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:11,131 INFO L290 TraceCheckUtils]: 13: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:11,131 INFO L290 TraceCheckUtils]: 14: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:11,131 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11043#true} {11043#true} #65#return; {11043#true} is VALID [2022-04-15 07:17:11,131 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-15 07:17:11,131 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-15 07:17:11,131 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-15 07:17:11,132 INFO L290 TraceCheckUtils]: 19: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:11,132 INFO L290 TraceCheckUtils]: 20: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:11,132 INFO L290 TraceCheckUtils]: 21: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:11,132 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-15 07:17:11,132 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-15 07:17:11,132 INFO L290 TraceCheckUtils]: 24: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:11,132 INFO L290 TraceCheckUtils]: 25: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:11,133 INFO L290 TraceCheckUtils]: 26: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:11,133 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-15 07:17:11,133 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-15 07:17:11,133 INFO L290 TraceCheckUtils]: 29: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:11,133 INFO L290 TraceCheckUtils]: 30: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:11,133 INFO L290 TraceCheckUtils]: 31: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:11,134 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-15 07:17:11,134 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-15 07:17:11,135 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-15 07:17:11,135 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-15 07:17:11,135 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-15 07:17:11,135 INFO L290 TraceCheckUtils]: 37: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:11,135 INFO L290 TraceCheckUtils]: 38: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:11,135 INFO L290 TraceCheckUtils]: 39: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:11,136 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-15 07:17:11,136 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-15 07:17:11,136 INFO L290 TraceCheckUtils]: 42: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:11,136 INFO L290 TraceCheckUtils]: 43: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:11,136 INFO L290 TraceCheckUtils]: 44: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:11,137 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-15 07:17:11,137 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-15 07:17:11,137 INFO L290 TraceCheckUtils]: 47: Hoare triple {11043#true} ~cond := #in~cond; {11191#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:17:11,138 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-15 07:17:11,138 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-15 07:17:11,139 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-15 07:17:11,139 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-15 07:17:11,140 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-15 07:17:11,140 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-15 07:17:11,140 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-15 07:17:11,141 INFO L290 TraceCheckUtils]: 55: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:11,141 INFO L290 TraceCheckUtils]: 56: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:11,141 INFO L290 TraceCheckUtils]: 57: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:11,141 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-15 07:17:11,141 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-15 07:17:11,141 INFO L290 TraceCheckUtils]: 60: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:11,142 INFO L290 TraceCheckUtils]: 61: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:11,142 INFO L290 TraceCheckUtils]: 62: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:11,142 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-15 07:17:11,143 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-15 07:17:11,143 INFO L290 TraceCheckUtils]: 65: Hoare triple {11245#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11249#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:17:11,144 INFO L290 TraceCheckUtils]: 66: Hoare triple {11249#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11044#false} is VALID [2022-04-15 07:17:11,144 INFO L290 TraceCheckUtils]: 67: Hoare triple {11044#false} assume !false; {11044#false} is VALID [2022-04-15 07:17:11,144 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-15 07:17:11,144 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:17:24,265 INFO L290 TraceCheckUtils]: 67: Hoare triple {11044#false} assume !false; {11044#false} is VALID [2022-04-15 07:17:24,266 INFO L290 TraceCheckUtils]: 66: Hoare triple {11249#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11044#false} is VALID [2022-04-15 07:17:24,266 INFO L290 TraceCheckUtils]: 65: Hoare triple {11245#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {11249#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:17:24,267 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-15 07:17:24,267 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-15 07:17:24,267 INFO L290 TraceCheckUtils]: 62: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:24,267 INFO L290 TraceCheckUtils]: 61: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:24,267 INFO L290 TraceCheckUtils]: 60: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:24,267 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-15 07:17:24,268 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-15 07:17:24,268 INFO L290 TraceCheckUtils]: 57: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:24,268 INFO L290 TraceCheckUtils]: 56: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:24,268 INFO L290 TraceCheckUtils]: 55: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:24,268 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-15 07:17:24,268 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-15 07:17:24,510 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-15 07:17:24,510 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-15 07:17:24,511 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-15 07:17:24,511 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-15 07:17:24,512 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-15 07:17:24,512 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-15 07:17:24,512 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-15 07:17:24,512 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-15 07:17:24,513 INFO L290 TraceCheckUtils]: 44: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:24,513 INFO L290 TraceCheckUtils]: 43: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:24,513 INFO L290 TraceCheckUtils]: 42: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:24,513 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-15 07:17:24,513 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-15 07:17:24,513 INFO L290 TraceCheckUtils]: 39: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:24,513 INFO L290 TraceCheckUtils]: 38: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:24,513 INFO L290 TraceCheckUtils]: 37: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:24,514 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-15 07:17:24,514 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-15 07:17:25,291 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-15 07:17:25,292 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-15 07:17:25,292 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-15 07:17:25,292 INFO L290 TraceCheckUtils]: 31: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:25,292 INFO L290 TraceCheckUtils]: 30: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:25,293 INFO L290 TraceCheckUtils]: 29: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:25,293 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-15 07:17:25,322 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-15 07:17:25,322 INFO L290 TraceCheckUtils]: 26: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:25,323 INFO L290 TraceCheckUtils]: 25: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:25,323 INFO L290 TraceCheckUtils]: 24: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:25,323 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-15 07:17:25,323 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-15 07:17:25,323 INFO L290 TraceCheckUtils]: 21: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:25,324 INFO L290 TraceCheckUtils]: 20: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:25,324 INFO L290 TraceCheckUtils]: 19: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:25,324 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-15 07:17:25,324 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-15 07:17:25,325 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-15 07:17:25,325 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11043#true} {11043#true} #65#return; {11043#true} is VALID [2022-04-15 07:17:25,325 INFO L290 TraceCheckUtils]: 14: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:25,325 INFO L290 TraceCheckUtils]: 13: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:25,325 INFO L290 TraceCheckUtils]: 12: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:25,325 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-15 07:17:25,325 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11043#true} {11043#true} #63#return; {11043#true} is VALID [2022-04-15 07:17:25,325 INFO L290 TraceCheckUtils]: 9: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:25,325 INFO L290 TraceCheckUtils]: 8: Hoare triple {11043#true} assume !(0 == ~cond); {11043#true} is VALID [2022-04-15 07:17:25,325 INFO L290 TraceCheckUtils]: 7: Hoare triple {11043#true} ~cond := #in~cond; {11043#true} is VALID [2022-04-15 07:17:25,325 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-15 07:17:25,325 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-15 07:17:25,325 INFO L272 TraceCheckUtils]: 4: Hoare triple {11043#true} call #t~ret6 := main(); {11043#true} is VALID [2022-04-15 07:17:25,326 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11043#true} {11043#true} #81#return; {11043#true} is VALID [2022-04-15 07:17:25,326 INFO L290 TraceCheckUtils]: 2: Hoare triple {11043#true} assume true; {11043#true} is VALID [2022-04-15 07:17:25,326 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-15 07:17:25,326 INFO L272 TraceCheckUtils]: 0: Hoare triple {11043#true} call ULTIMATE.init(); {11043#true} is VALID [2022-04-15 07:17:25,326 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-15 07:17:25,326 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:17:25,326 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1775673760] [2022-04-15 07:17:25,326 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:17:25,326 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [601977967] [2022-04-15 07:17:25,326 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [601977967] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:17:25,326 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:17:25,327 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 10] total 14 [2022-04-15 07:17:25,327 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:17:25,327 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1995870361] [2022-04-15 07:17:25,327 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1995870361] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:17:25,327 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:17:25,327 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 07:17:25,327 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [786773142] [2022-04-15 07:17:25,327 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:17:25,327 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-15 07:17:25,328 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:17:25,328 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-15 07:17:25,372 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-15 07:17:25,372 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 07:17:25,373 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:17:25,373 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 07:17:25,373 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=141, Unknown=0, NotChecked=0, Total=182 [2022-04-15 07:17:25,373 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-15 07:17:26,297 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:17:26,297 INFO L93 Difference]: Finished difference Result 197 states and 245 transitions. [2022-04-15 07:17:26,297 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 07:17:26,297 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-15 07:17:26,298 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:17:26,298 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-15 07:17:26,299 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-15 07:17:26,299 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-15 07:17:26,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 80 transitions. [2022-04-15 07:17:26,300 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 80 transitions. [2022-04-15 07:17:26,379 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-15 07:17:26,382 INFO L225 Difference]: With dead ends: 197 [2022-04-15 07:17:26,382 INFO L226 Difference]: Without dead ends: 188 [2022-04-15 07:17:26,383 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-15 07:17:26,383 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-15 07:17:26,383 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-15 07:17:26,383 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2022-04-15 07:17:26,517 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 188. [2022-04-15 07:17:26,517 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:17:26,517 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-15 07:17:26,517 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-15 07:17:26,518 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-15 07:17:26,521 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:17:26,521 INFO L93 Difference]: Finished difference Result 188 states and 228 transitions. [2022-04-15 07:17:26,521 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 228 transitions. [2022-04-15 07:17:26,521 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:17:26,521 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:17:26,521 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-15 07:17:26,522 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-15 07:17:26,525 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:17:26,525 INFO L93 Difference]: Finished difference Result 188 states and 228 transitions. [2022-04-15 07:17:26,525 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 228 transitions. [2022-04-15 07:17:26,525 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:17:26,525 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:17:26,525 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:17:26,525 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:17:26,526 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-15 07:17:26,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 188 states to 188 states and 228 transitions. [2022-04-15 07:17:26,529 INFO L78 Accepts]: Start accepts. Automaton has 188 states and 228 transitions. Word has length 68 [2022-04-15 07:17:26,529 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:17:26,529 INFO L478 AbstractCegarLoop]: Abstraction has 188 states and 228 transitions. [2022-04-15 07:17:26,529 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-15 07:17:26,529 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 188 states and 228 transitions. [2022-04-15 07:17:26,867 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-15 07:17:26,868 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 228 transitions. [2022-04-15 07:17:26,868 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-15 07:17:26,868 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:17:26,869 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-15 07:17:26,885 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-04-15 07:17:27,077 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-15 07:17:27,077 INFO L403 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:17:27,078 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:17:27,078 INFO L85 PathProgramCache]: Analyzing trace with hash -35686306, now seen corresponding path program 7 times [2022-04-15 07:17:27,078 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:17:27,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [990653420] [2022-04-15 07:17:27,078 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:17:27,078 INFO L85 PathProgramCache]: Analyzing trace with hash -35686306, now seen corresponding path program 8 times [2022-04-15 07:17:27,078 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:17:27,078 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2097291849] [2022-04-15 07:17:27,078 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:17:27,078 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:17:27,099 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:17:27,099 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [97148292] [2022-04-15 07:17:27,099 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:17:27,099 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:17:27,099 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:17:27,100 INFO L229 MonitoredProcess]: Starting monitored process 15 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:17:27,101 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Waiting until timeout for monitored process [2022-04-15 07:17:27,143 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:17:27,144 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:17:27,144 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-15 07:17:27,162 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:17:27,163 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:17:27,670 INFO L272 TraceCheckUtils]: 0: Hoare triple {12614#true} call ULTIMATE.init(); {12614#true} is VALID [2022-04-15 07:17:27,671 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-15 07:17:27,671 INFO L290 TraceCheckUtils]: 2: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:27,671 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12614#true} {12614#true} #81#return; {12614#true} is VALID [2022-04-15 07:17:27,671 INFO L272 TraceCheckUtils]: 4: Hoare triple {12614#true} call #t~ret6 := main(); {12614#true} is VALID [2022-04-15 07:17:27,671 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-15 07:17:27,671 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-15 07:17:27,671 INFO L290 TraceCheckUtils]: 7: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:27,671 INFO L290 TraceCheckUtils]: 8: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:27,671 INFO L290 TraceCheckUtils]: 9: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:27,671 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12614#true} {12614#true} #63#return; {12614#true} is VALID [2022-04-15 07:17:27,671 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-15 07:17:27,671 INFO L290 TraceCheckUtils]: 12: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:27,671 INFO L290 TraceCheckUtils]: 13: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:27,671 INFO L290 TraceCheckUtils]: 14: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:27,671 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12614#true} {12614#true} #65#return; {12614#true} is VALID [2022-04-15 07:17:27,672 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-15 07:17:27,672 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-15 07:17:27,672 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-15 07:17:27,672 INFO L290 TraceCheckUtils]: 19: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:27,673 INFO L290 TraceCheckUtils]: 20: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:27,673 INFO L290 TraceCheckUtils]: 21: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:27,673 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-15 07:17:27,673 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-15 07:17:27,673 INFO L290 TraceCheckUtils]: 24: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:27,673 INFO L290 TraceCheckUtils]: 25: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:27,673 INFO L290 TraceCheckUtils]: 26: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:27,674 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-15 07:17:27,674 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-15 07:17:27,674 INFO L290 TraceCheckUtils]: 29: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:27,674 INFO L290 TraceCheckUtils]: 30: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:27,674 INFO L290 TraceCheckUtils]: 31: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:27,675 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-15 07:17:27,675 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-15 07:17:27,676 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-15 07:17:27,676 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-15 07:17:27,676 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-15 07:17:27,676 INFO L290 TraceCheckUtils]: 37: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:27,676 INFO L290 TraceCheckUtils]: 38: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:27,676 INFO L290 TraceCheckUtils]: 39: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:27,677 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-15 07:17:27,677 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-15 07:17:27,677 INFO L290 TraceCheckUtils]: 42: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:27,677 INFO L290 TraceCheckUtils]: 43: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:27,677 INFO L290 TraceCheckUtils]: 44: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:27,678 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-15 07:17:27,678 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-15 07:17:27,678 INFO L290 TraceCheckUtils]: 47: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:27,678 INFO L290 TraceCheckUtils]: 48: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:27,678 INFO L290 TraceCheckUtils]: 49: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:27,678 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-15 07:17:27,679 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-15 07:17:27,679 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-15 07:17:27,680 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-15 07:17:27,680 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-15 07:17:27,680 INFO L290 TraceCheckUtils]: 55: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:27,680 INFO L290 TraceCheckUtils]: 56: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:27,680 INFO L290 TraceCheckUtils]: 57: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:27,681 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-15 07:17:27,681 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-15 07:17:27,681 INFO L290 TraceCheckUtils]: 60: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:27,681 INFO L290 TraceCheckUtils]: 61: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:27,681 INFO L290 TraceCheckUtils]: 62: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:27,681 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-15 07:17:27,682 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-15 07:17:27,682 INFO L290 TraceCheckUtils]: 65: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:27,682 INFO L290 TraceCheckUtils]: 66: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:27,682 INFO L290 TraceCheckUtils]: 67: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:27,682 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-15 07:17:27,683 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-15 07:17:27,683 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-15 07:17:27,684 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-15 07:17:27,684 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-15 07:17:27,684 INFO L290 TraceCheckUtils]: 73: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:27,684 INFO L290 TraceCheckUtils]: 74: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:27,684 INFO L290 TraceCheckUtils]: 75: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:27,684 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-15 07:17:27,685 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-15 07:17:27,685 INFO L290 TraceCheckUtils]: 78: Hoare triple {12854#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12858#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:17:27,686 INFO L290 TraceCheckUtils]: 79: Hoare triple {12858#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12615#false} is VALID [2022-04-15 07:17:27,686 INFO L290 TraceCheckUtils]: 80: Hoare triple {12615#false} assume !false; {12615#false} is VALID [2022-04-15 07:17:27,686 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-15 07:17:27,686 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:17:28,034 INFO L290 TraceCheckUtils]: 80: Hoare triple {12615#false} assume !false; {12615#false} is VALID [2022-04-15 07:17:28,035 INFO L290 TraceCheckUtils]: 79: Hoare triple {12858#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {12615#false} is VALID [2022-04-15 07:17:28,035 INFO L290 TraceCheckUtils]: 78: Hoare triple {12854#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12858#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:17:28,036 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-15 07:17:28,036 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-15 07:17:28,036 INFO L290 TraceCheckUtils]: 75: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:28,036 INFO L290 TraceCheckUtils]: 74: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:28,036 INFO L290 TraceCheckUtils]: 73: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:28,037 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-15 07:17:28,037 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-15 07:17:30,038 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-15 07:17:30,039 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-15 07:17:30,040 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-15 07:17:30,040 INFO L290 TraceCheckUtils]: 67: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:30,040 INFO L290 TraceCheckUtils]: 66: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:30,040 INFO L290 TraceCheckUtils]: 65: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:30,040 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-15 07:17:30,040 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-15 07:17:30,040 INFO L290 TraceCheckUtils]: 62: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:30,040 INFO L290 TraceCheckUtils]: 61: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:30,041 INFO L290 TraceCheckUtils]: 60: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:30,041 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-15 07:17:30,041 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-15 07:17:30,041 INFO L290 TraceCheckUtils]: 57: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:30,041 INFO L290 TraceCheckUtils]: 56: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:30,041 INFO L290 TraceCheckUtils]: 55: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:30,041 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-15 07:17:30,042 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-15 07:17:30,243 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-15 07:17:30,244 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-15 07:17:30,244 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-15 07:17:30,245 INFO L290 TraceCheckUtils]: 49: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:30,245 INFO L290 TraceCheckUtils]: 48: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:30,245 INFO L290 TraceCheckUtils]: 47: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:30,245 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-15 07:17:30,245 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-15 07:17:30,245 INFO L290 TraceCheckUtils]: 44: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:30,245 INFO L290 TraceCheckUtils]: 43: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:30,246 INFO L290 TraceCheckUtils]: 42: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:30,246 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-15 07:17:30,246 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-15 07:17:30,246 INFO L290 TraceCheckUtils]: 39: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:30,246 INFO L290 TraceCheckUtils]: 38: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:30,246 INFO L290 TraceCheckUtils]: 37: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:30,246 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-15 07:17:30,247 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-15 07:17:30,578 INFO 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 VALID [2022-04-15 07:17:30,579 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-15 07:17:30,579 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-15 07:17:30,579 INFO L290 TraceCheckUtils]: 31: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:30,579 INFO L290 TraceCheckUtils]: 30: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:30,579 INFO L290 TraceCheckUtils]: 29: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:30,580 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-15 07:17:30,580 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-15 07:17:30,580 INFO L290 TraceCheckUtils]: 26: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:30,580 INFO L290 TraceCheckUtils]: 25: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:30,580 INFO L290 TraceCheckUtils]: 24: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:30,580 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-15 07:17:30,581 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-15 07:17:30,581 INFO L290 TraceCheckUtils]: 21: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:30,581 INFO L290 TraceCheckUtils]: 20: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:30,581 INFO L290 TraceCheckUtils]: 19: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:30,581 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-15 07:17:30,582 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-15 07:17:30,582 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-15 07:17:30,582 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {12614#true} {12614#true} #65#return; {12614#true} is VALID [2022-04-15 07:17:30,582 INFO L290 TraceCheckUtils]: 14: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:30,582 INFO L290 TraceCheckUtils]: 13: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:30,582 INFO L290 TraceCheckUtils]: 12: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:30,582 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-15 07:17:30,582 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {12614#true} {12614#true} #63#return; {12614#true} is VALID [2022-04-15 07:17:30,582 INFO L290 TraceCheckUtils]: 9: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:30,582 INFO L290 TraceCheckUtils]: 8: Hoare triple {12614#true} assume !(0 == ~cond); {12614#true} is VALID [2022-04-15 07:17:30,583 INFO L290 TraceCheckUtils]: 7: Hoare triple {12614#true} ~cond := #in~cond; {12614#true} is VALID [2022-04-15 07:17:30,583 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-15 07:17:30,583 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-15 07:17:30,583 INFO L272 TraceCheckUtils]: 4: Hoare triple {12614#true} call #t~ret6 := main(); {12614#true} is VALID [2022-04-15 07:17:30,583 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {12614#true} {12614#true} #81#return; {12614#true} is VALID [2022-04-15 07:17:30,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {12614#true} assume true; {12614#true} is VALID [2022-04-15 07:17:30,583 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-15 07:17:30,583 INFO L272 TraceCheckUtils]: 0: Hoare triple {12614#true} call ULTIMATE.init(); {12614#true} is VALID [2022-04-15 07:17:30,583 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-15 07:17:30,583 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:17:30,583 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2097291849] [2022-04-15 07:17:30,583 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:17:30,584 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [97148292] [2022-04-15 07:17:30,584 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [97148292] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:17:30,584 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:17:30,584 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 8] total 12 [2022-04-15 07:17:30,584 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:17:30,584 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [990653420] [2022-04-15 07:17:30,584 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [990653420] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:17:30,584 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:17:30,584 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [8] imperfect sequences [] total 8 [2022-04-15 07:17:30,584 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [632556438] [2022-04-15 07:17:30,584 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:17:30,585 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-15 07:17:30,585 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:17:30,585 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-15 07:17:30,651 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:17:30,651 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-04-15 07:17:30,651 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:17:30,651 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-04-15 07:17:30,651 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=34, Invalid=98, Unknown=0, NotChecked=0, Total=132 [2022-04-15 07:17:30,652 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-15 07:17:31,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:17:31,828 INFO L93 Difference]: Finished difference Result 222 states and 270 transitions. [2022-04-15 07:17:31,828 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-04-15 07:17:31,828 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-15 07:17:31,828 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:17:31,829 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-15 07:17:31,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-15 07:17:31,830 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-15 07:17:31,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 90 transitions. [2022-04-15 07:17:31,830 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 8 states and 90 transitions. [2022-04-15 07:17:31,924 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-15 07:17:31,928 INFO L225 Difference]: With dead ends: 222 [2022-04-15 07:17:31,928 INFO L226 Difference]: Without dead ends: 220 [2022-04-15 07:17:31,928 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-15 07:17:31,929 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-15 07:17:31,929 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-15 07:17:31,929 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 220 states. [2022-04-15 07:17:32,092 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 220 to 216. [2022-04-15 07:17:32,093 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:17:32,093 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-15 07:17:32,093 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-15 07:17:32,094 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-15 07:17:32,097 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:17:32,097 INFO L93 Difference]: Finished difference Result 220 states and 268 transitions. [2022-04-15 07:17:32,097 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 268 transitions. [2022-04-15 07:17:32,098 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:17:32,098 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:17:32,098 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-15 07:17:32,099 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-15 07:17:32,102 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:17:32,102 INFO L93 Difference]: Finished difference Result 220 states and 268 transitions. [2022-04-15 07:17:32,102 INFO L276 IsEmpty]: Start isEmpty. Operand 220 states and 268 transitions. [2022-04-15 07:17:32,103 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:17:32,103 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:17:32,103 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:17:32,103 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:17:32,103 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-15 07:17:32,107 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 216 states to 216 states and 261 transitions. [2022-04-15 07:17:32,107 INFO L78 Accepts]: Start accepts. Automaton has 216 states and 261 transitions. Word has length 81 [2022-04-15 07:17:32,107 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:17:32,107 INFO L478 AbstractCegarLoop]: Abstraction has 216 states and 261 transitions. [2022-04-15 07:17:32,108 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-15 07:17:32,108 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 216 states and 261 transitions. [2022-04-15 07:17:32,466 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-15 07:17:32,466 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 261 transitions. [2022-04-15 07:17:32,467 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-15 07:17:32,467 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:17:32,467 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-15 07:17:32,485 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-15 07:17:32,668 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-15 07:17:32,668 INFO L403 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:17:32,668 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:17:32,668 INFO L85 PathProgramCache]: Analyzing trace with hash 1350517088, now seen corresponding path program 7 times [2022-04-15 07:17:32,668 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:17:32,668 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1917605794] [2022-04-15 07:17:32,669 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:17:32,669 INFO L85 PathProgramCache]: Analyzing trace with hash 1350517088, now seen corresponding path program 8 times [2022-04-15 07:17:32,669 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:17:32,669 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [867029029] [2022-04-15 07:17:32,669 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:17:32,669 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:17:32,677 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:17:32,677 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1882072412] [2022-04-15 07:17:32,677 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:17:32,677 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:17:32,677 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:17:32,678 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:17:32,679 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-04-15 07:17:32,720 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:17:32,720 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:17:32,721 INFO L263 TraceCheckSpWp]: Trace formula consists of 204 conjuncts, 48 conjunts are in the unsatisfiable core [2022-04-15 07:17:32,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:17:32,737 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:17:39,227 INFO L272 TraceCheckUtils]: 0: Hoare triple {14429#true} call ULTIMATE.init(); {14429#true} is VALID [2022-04-15 07:17:39,228 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-15 07:17:39,228 INFO L290 TraceCheckUtils]: 2: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:17:39,228 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14429#true} {14429#true} #81#return; {14429#true} is VALID [2022-04-15 07:17:39,228 INFO L272 TraceCheckUtils]: 4: Hoare triple {14429#true} call #t~ret6 := main(); {14429#true} is VALID [2022-04-15 07:17:39,228 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-15 07:17:39,228 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-15 07:17:39,228 INFO L290 TraceCheckUtils]: 7: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:17:39,229 INFO L290 TraceCheckUtils]: 8: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:17:39,229 INFO L290 TraceCheckUtils]: 9: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:17:39,229 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14429#true} {14429#true} #63#return; {14429#true} is VALID [2022-04-15 07:17:39,229 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-15 07:17:39,229 INFO L290 TraceCheckUtils]: 12: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:17:39,229 INFO L290 TraceCheckUtils]: 13: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:17:39,229 INFO L290 TraceCheckUtils]: 14: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:17:39,229 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14429#true} {14429#true} #65#return; {14429#true} is VALID [2022-04-15 07:17:39,229 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-15 07:17:39,230 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-15 07:17:39,230 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-15 07:17:39,230 INFO L290 TraceCheckUtils]: 19: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:17:39,230 INFO L290 TraceCheckUtils]: 20: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:17:39,230 INFO L290 TraceCheckUtils]: 21: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:17:39,231 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-15 07:17:39,231 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-15 07:17:39,231 INFO L290 TraceCheckUtils]: 24: Hoare triple {14429#true} ~cond := #in~cond; {14507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:17:39,231 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-15 07:17:39,231 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-15 07:17:39,232 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-15 07:17:39,232 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-15 07:17:39,232 INFO L290 TraceCheckUtils]: 29: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:17:39,232 INFO L290 TraceCheckUtils]: 30: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:17:39,233 INFO L290 TraceCheckUtils]: 31: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:17:39,233 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-15 07:17:39,234 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-15 07:17:39,235 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-15 07:17:39,235 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-15 07:17:39,236 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-15 07:17:39,236 INFO L290 TraceCheckUtils]: 37: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:17:39,236 INFO L290 TraceCheckUtils]: 38: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:17:39,236 INFO L290 TraceCheckUtils]: 39: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:17:39,236 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-15 07:17:39,236 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-15 07:17:39,236 INFO L290 TraceCheckUtils]: 42: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:17:39,236 INFO L290 TraceCheckUtils]: 43: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:17:39,237 INFO L290 TraceCheckUtils]: 44: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:17:39,237 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-15 07:17:39,237 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-15 07:17:39,237 INFO L290 TraceCheckUtils]: 47: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:17:39,237 INFO L290 TraceCheckUtils]: 48: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:17:39,237 INFO L290 TraceCheckUtils]: 49: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:17:39,238 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-15 07:17:39,238 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-15 07:17:39,239 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-15 07:17:39,240 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-15 07:17:39,240 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-15 07:17:39,240 INFO L290 TraceCheckUtils]: 55: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:17:39,240 INFO L290 TraceCheckUtils]: 56: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:17:39,240 INFO L290 TraceCheckUtils]: 57: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:17:39,241 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-15 07:17:39,241 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-15 07:17:39,241 INFO L290 TraceCheckUtils]: 60: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:17:39,241 INFO L290 TraceCheckUtils]: 61: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:17:39,241 INFO L290 TraceCheckUtils]: 62: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:17:39,242 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-15 07:17:39,242 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-15 07:17:39,242 INFO L290 TraceCheckUtils]: 65: Hoare triple {14429#true} ~cond := #in~cond; {14507#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:17:39,242 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-15 07:17:39,242 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-15 07:17:39,243 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-15 07:17:39,243 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-15 07:17:39,852 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-15 07:17:39,853 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-15 07:17:39,853 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-15 07:17:39,853 INFO L290 TraceCheckUtils]: 73: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:17:39,853 INFO L290 TraceCheckUtils]: 74: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:17:39,868 INFO L290 TraceCheckUtils]: 75: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:17:39,871 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-15 07:17:39,951 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-15 07:17:39,951 INFO L290 TraceCheckUtils]: 78: Hoare triple {14672#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14676#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:17:39,951 INFO L290 TraceCheckUtils]: 79: Hoare triple {14676#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14430#false} is VALID [2022-04-15 07:17:39,951 INFO L290 TraceCheckUtils]: 80: Hoare triple {14430#false} assume !false; {14430#false} is VALID [2022-04-15 07:17:39,952 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-15 07:17:39,952 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:18:31,787 INFO L290 TraceCheckUtils]: 80: Hoare triple {14430#false} assume !false; {14430#false} is VALID [2022-04-15 07:18:31,787 INFO L290 TraceCheckUtils]: 79: Hoare triple {14676#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {14430#false} is VALID [2022-04-15 07:18:31,787 INFO L290 TraceCheckUtils]: 78: Hoare triple {14672#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {14676#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:18:31,788 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-15 07:18:31,789 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-15 07:18:31,789 INFO L290 TraceCheckUtils]: 75: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:18:31,789 INFO L290 TraceCheckUtils]: 74: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:18:31,789 INFO L290 TraceCheckUtils]: 73: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:18:31,789 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-15 07:18:31,789 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-15 07:18:31,873 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-15 07:18:31,874 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-15 07:18:31,874 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-15 07:18:31,875 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-15 07:18:31,875 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-15 07:18:31,875 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-15 07:18:31,875 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-15 07:18:31,876 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-15 07:18:31,876 INFO L290 TraceCheckUtils]: 62: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:18:31,876 INFO L290 TraceCheckUtils]: 61: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:18:31,876 INFO L290 TraceCheckUtils]: 60: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:18:31,876 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-15 07:18:31,877 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-15 07:18:31,877 INFO L290 TraceCheckUtils]: 57: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:18:31,877 INFO L290 TraceCheckUtils]: 56: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:18:31,877 INFO L290 TraceCheckUtils]: 55: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:18:31,877 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-15 07:18:31,877 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-15 07:18:33,309 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-15 07:18:33,310 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-15 07:18:33,310 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-15 07:18:33,310 INFO L290 TraceCheckUtils]: 49: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:18:33,311 INFO L290 TraceCheckUtils]: 48: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:18:33,311 INFO L290 TraceCheckUtils]: 47: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:18:33,311 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-15 07:18:33,311 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-15 07:18:33,311 INFO L290 TraceCheckUtils]: 44: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:18:33,311 INFO L290 TraceCheckUtils]: 43: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:18:33,311 INFO L290 TraceCheckUtils]: 42: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:18:33,311 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-15 07:18:33,312 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-15 07:18:33,312 INFO L290 TraceCheckUtils]: 39: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:18:33,312 INFO L290 TraceCheckUtils]: 38: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:18:33,312 INFO L290 TraceCheckUtils]: 37: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:18:33,312 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-15 07:18:33,313 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-15 07:18:34,219 INFO 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 VALID [2022-04-15 07:18:34,220 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-15 07:18:34,221 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-15 07:18:34,221 INFO L290 TraceCheckUtils]: 31: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:18:34,221 INFO L290 TraceCheckUtils]: 30: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:18:34,221 INFO L290 TraceCheckUtils]: 29: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:18:34,221 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-15 07:18:34,222 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-15 07:18:34,223 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-15 07:18:34,223 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-15 07:18:34,223 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-15 07:18:34,223 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-15 07:18:34,223 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {14429#true} {14429#true} #67#return; {14429#true} is VALID [2022-04-15 07:18:34,223 INFO L290 TraceCheckUtils]: 21: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:18:34,224 INFO L290 TraceCheckUtils]: 20: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:18:34,224 INFO L290 TraceCheckUtils]: 19: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:18:34,224 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-15 07:18:34,224 INFO L290 TraceCheckUtils]: 17: Hoare triple {14429#true} assume !false; {14429#true} is VALID [2022-04-15 07:18:34,224 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-15 07:18:34,224 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {14429#true} {14429#true} #65#return; {14429#true} is VALID [2022-04-15 07:18:34,224 INFO L290 TraceCheckUtils]: 14: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:18:34,224 INFO L290 TraceCheckUtils]: 13: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:18:34,224 INFO L290 TraceCheckUtils]: 12: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:18:34,224 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-15 07:18:34,224 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {14429#true} {14429#true} #63#return; {14429#true} is VALID [2022-04-15 07:18:34,224 INFO L290 TraceCheckUtils]: 9: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:18:34,224 INFO L290 TraceCheckUtils]: 8: Hoare triple {14429#true} assume !(0 == ~cond); {14429#true} is VALID [2022-04-15 07:18:34,224 INFO L290 TraceCheckUtils]: 7: Hoare triple {14429#true} ~cond := #in~cond; {14429#true} is VALID [2022-04-15 07:18:34,224 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-15 07:18:34,224 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-15 07:18:34,224 INFO L272 TraceCheckUtils]: 4: Hoare triple {14429#true} call #t~ret6 := main(); {14429#true} is VALID [2022-04-15 07:18:34,224 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {14429#true} {14429#true} #81#return; {14429#true} is VALID [2022-04-15 07:18:34,225 INFO L290 TraceCheckUtils]: 2: Hoare triple {14429#true} assume true; {14429#true} is VALID [2022-04-15 07:18:34,225 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-15 07:18:34,225 INFO L272 TraceCheckUtils]: 0: Hoare triple {14429#true} call ULTIMATE.init(); {14429#true} is VALID [2022-04-15 07:18:34,225 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-15 07:18:34,225 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:18:34,225 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [867029029] [2022-04-15 07:18:34,225 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:18:34,225 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1882072412] [2022-04-15 07:18:34,225 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1882072412] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:18:34,225 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:18:34,225 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 11] total 17 [2022-04-15 07:18:34,226 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:18:34,226 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1917605794] [2022-04-15 07:18:34,226 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1917605794] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:18:34,226 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:18:34,226 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 07:18:34,226 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [596055379] [2022-04-15 07:18:34,226 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:18:34,226 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-15 07:18:34,226 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:18:34,227 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-15 07:18:34,779 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:18:34,779 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 07:18:34,779 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:18:34,779 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 07:18:34,780 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=210, Unknown=0, NotChecked=0, Total=272 [2022-04-15 07:18:34,780 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-15 07:18:45,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:18:45,567 INFO L93 Difference]: Finished difference Result 257 states and 311 transitions. [2022-04-15 07:18:45,567 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 07:18:45,568 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-15 07:18:45,568 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:18:45,568 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-15 07:18:45,569 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 90 transitions. [2022-04-15 07:18:45,569 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-15 07:18:45,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 90 transitions. [2022-04-15 07:18:45,570 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 90 transitions. [2022-04-15 07:18:46,328 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-15 07:18:46,345 INFO L225 Difference]: With dead ends: 257 [2022-04-15 07:18:46,345 INFO L226 Difference]: Without dead ends: 255 [2022-04-15 07:18:46,345 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-15 07:18:46,346 INFO L913 BasicCegarLoop]: 41 mSDtfsCounter, 17 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 474 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 5.6s 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, 5.6s IncrementalHoareTripleChecker+Time [2022-04-15 07:18:46,346 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [23 Valid, 181 Invalid, 496 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 474 Invalid, 0 Unknown, 0 Unchecked, 5.6s Time] [2022-04-15 07:18:46,346 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 255 states. [2022-04-15 07:18:46,606 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 255 to 221. [2022-04-15 07:18:46,607 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:18:46,608 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-15 07:18:46,608 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-15 07:18:46,609 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-15 07:18:46,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:18:46,616 INFO L93 Difference]: Finished difference Result 255 states and 309 transitions. [2022-04-15 07:18:46,616 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 309 transitions. [2022-04-15 07:18:46,617 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:18:46,617 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:18:46,617 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-15 07:18:46,618 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-15 07:18:46,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:18:46,625 INFO L93 Difference]: Finished difference Result 255 states and 309 transitions. [2022-04-15 07:18:46,625 INFO L276 IsEmpty]: Start isEmpty. Operand 255 states and 309 transitions. [2022-04-15 07:18:46,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:18:46,626 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:18:46,626 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:18:46,626 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:18:46,626 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-15 07:18:46,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 221 states to 221 states and 261 transitions. [2022-04-15 07:18:46,633 INFO L78 Accepts]: Start accepts. Automaton has 221 states and 261 transitions. Word has length 81 [2022-04-15 07:18:46,633 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:18:46,633 INFO L478 AbstractCegarLoop]: Abstraction has 221 states and 261 transitions. [2022-04-15 07:18:46,634 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-15 07:18:46,634 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 221 states and 261 transitions. [2022-04-15 07:18:47,332 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-15 07:18:47,332 INFO L276 IsEmpty]: Start isEmpty. Operand 221 states and 261 transitions. [2022-04-15 07:18:47,336 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-15 07:18:47,336 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:18:47,336 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-15 07:18:47,352 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-04-15 07:18:47,536 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-15 07:18:47,537 INFO L403 AbstractCegarLoop]: === Iteration 17 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:18:47,537 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:18:47,537 INFO L85 PathProgramCache]: Analyzing trace with hash -388774688, now seen corresponding path program 9 times [2022-04-15 07:18:47,537 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:18:47,537 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2110772831] [2022-04-15 07:18:47,537 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:18:47,538 INFO L85 PathProgramCache]: Analyzing trace with hash -388774688, now seen corresponding path program 10 times [2022-04-15 07:18:47,538 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:18:47,538 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1050045794] [2022-04-15 07:18:47,538 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:18:47,538 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:18:47,546 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:18:47,546 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1639445869] [2022-04-15 07:18:47,547 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:18:47,547 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:18:47,547 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:18:47,547 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:18:47,548 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-04-15 07:18:47,592 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:18:47,592 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:18:47,593 INFO L263 TraceCheckSpWp]: Trace formula consists of 173 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-15 07:18:47,606 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:18:47,607 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:18:48,509 INFO L272 TraceCheckUtils]: 0: Hoare triple {16401#true} call ULTIMATE.init(); {16401#true} is VALID [2022-04-15 07:18:48,509 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-15 07:18:48,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:18:48,509 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16401#true} {16401#true} #81#return; {16401#true} is VALID [2022-04-15 07:18:48,509 INFO L272 TraceCheckUtils]: 4: Hoare triple {16401#true} call #t~ret6 := main(); {16401#true} is VALID [2022-04-15 07:18:48,509 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-15 07:18:48,509 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-15 07:18:48,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:18:48,510 INFO L290 TraceCheckUtils]: 8: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:18:48,510 INFO L290 TraceCheckUtils]: 9: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:18:48,510 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16401#true} {16401#true} #63#return; {16401#true} is VALID [2022-04-15 07:18:48,510 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-15 07:18:48,510 INFO L290 TraceCheckUtils]: 12: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:18:48,510 INFO L290 TraceCheckUtils]: 13: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:18:48,510 INFO L290 TraceCheckUtils]: 14: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:18:48,510 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16401#true} {16401#true} #65#return; {16401#true} is VALID [2022-04-15 07:18:48,510 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-15 07:18:48,511 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-15 07:18:48,511 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-15 07:18:48,511 INFO L290 TraceCheckUtils]: 19: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:18:48,511 INFO L290 TraceCheckUtils]: 20: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:18:48,511 INFO L290 TraceCheckUtils]: 21: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:18:48,511 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-15 07:18:48,511 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-15 07:18:48,511 INFO L290 TraceCheckUtils]: 24: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:18:48,512 INFO L290 TraceCheckUtils]: 25: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:18:48,512 INFO L290 TraceCheckUtils]: 26: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:18:48,512 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-15 07:18:48,512 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-15 07:18:48,512 INFO L290 TraceCheckUtils]: 29: Hoare triple {16401#true} ~cond := #in~cond; {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:18:48,513 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-15 07:18:48,513 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-15 07:18:48,514 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-15 07:18:48,514 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-15 07:18:48,515 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-15 07:18:48,515 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-15 07:18:48,515 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-15 07:18:48,515 INFO L290 TraceCheckUtils]: 37: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:18:48,515 INFO L290 TraceCheckUtils]: 38: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:18:48,515 INFO L290 TraceCheckUtils]: 39: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:18:48,516 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-15 07:18:48,516 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-15 07:18:48,516 INFO L290 TraceCheckUtils]: 42: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:18:48,516 INFO L290 TraceCheckUtils]: 43: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:18:48,516 INFO L290 TraceCheckUtils]: 44: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:18:48,517 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-15 07:18:48,517 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-15 07:18:48,517 INFO L290 TraceCheckUtils]: 47: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:18:48,517 INFO L290 TraceCheckUtils]: 48: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:18:48,517 INFO L290 TraceCheckUtils]: 49: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:18:48,518 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-15 07:18:48,518 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-15 07:18:48,519 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-15 07:18:48,519 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-15 07:18:48,519 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-15 07:18:48,519 INFO L290 TraceCheckUtils]: 55: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:18:48,519 INFO L290 TraceCheckUtils]: 56: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:18:48,519 INFO L290 TraceCheckUtils]: 57: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:18:48,520 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-15 07:18:48,520 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-15 07:18:48,520 INFO L290 TraceCheckUtils]: 60: Hoare triple {16401#true} ~cond := #in~cond; {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:18:48,521 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-15 07:18:48,521 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-15 07:18:48,522 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-15 07:18:48,522 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-15 07:18:48,522 INFO L290 TraceCheckUtils]: 65: Hoare triple {16401#true} ~cond := #in~cond; {16494#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:18:48,522 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-15 07:18:48,522 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-15 07:18:48,523 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-15 07:18:48,523 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-15 07:18:48,527 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-15 07:18:48,528 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-15 07:18:48,528 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-15 07:18:48,528 INFO L290 TraceCheckUtils]: 73: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:18:48,528 INFO L290 TraceCheckUtils]: 74: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:18:48,528 INFO L290 TraceCheckUtils]: 75: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:18:48,529 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-15 07:18:48,533 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-15 07:18:48,533 INFO L290 TraceCheckUtils]: 78: Hoare triple {16645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:18:48,533 INFO L290 TraceCheckUtils]: 79: Hoare triple {16649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16402#false} is VALID [2022-04-15 07:18:48,533 INFO L290 TraceCheckUtils]: 80: Hoare triple {16402#false} assume !false; {16402#false} is VALID [2022-04-15 07:18:48,534 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-15 07:18:48,534 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:19:33,100 INFO L290 TraceCheckUtils]: 80: Hoare triple {16402#false} assume !false; {16402#false} is VALID [2022-04-15 07:19:33,100 INFO L290 TraceCheckUtils]: 79: Hoare triple {16649#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {16402#false} is VALID [2022-04-15 07:19:33,101 INFO L290 TraceCheckUtils]: 78: Hoare triple {16645#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {16649#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:19:33,102 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-15 07:19:33,102 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-15 07:19:33,102 INFO L290 TraceCheckUtils]: 75: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:19:33,102 INFO L290 TraceCheckUtils]: 74: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:19:33,102 INFO L290 TraceCheckUtils]: 73: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:19:33,102 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-15 07:19:33,103 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-15 07:19:33,167 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-15 07:19:33,168 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-15 07:19:33,169 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-15 07:19:33,169 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-15 07:19:33,169 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-15 07:19:33,170 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-15 07:19:33,170 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-15 07:19:33,171 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-15 07:19:33,172 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-15 07:19:33,172 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-15 07:19:33,172 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-15 07:19:33,173 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-15 07:19:33,173 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {16401#true} {16401#true} #67#return; {16401#true} is VALID [2022-04-15 07:19:33,173 INFO L290 TraceCheckUtils]: 57: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:19:33,173 INFO L290 TraceCheckUtils]: 56: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:19:33,173 INFO L290 TraceCheckUtils]: 55: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:19:33,173 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-15 07:19:33,173 INFO L290 TraceCheckUtils]: 53: Hoare triple {16401#true} assume !false; {16401#true} is VALID [2022-04-15 07:19:33,173 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-15 07:19:33,173 INFO L290 TraceCheckUtils]: 51: Hoare triple {16401#true} assume !!(~a~0 != ~b~0); {16401#true} is VALID [2022-04-15 07:19:33,173 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {16401#true} {16401#true} #71#return; {16401#true} is VALID [2022-04-15 07:19:33,173 INFO L290 TraceCheckUtils]: 49: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:19:33,173 INFO L290 TraceCheckUtils]: 48: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:19:33,173 INFO L290 TraceCheckUtils]: 47: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:19:33,173 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-15 07:19:33,173 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {16401#true} {16401#true} #69#return; {16401#true} is VALID [2022-04-15 07:19:33,173 INFO L290 TraceCheckUtils]: 44: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:19:33,173 INFO L290 TraceCheckUtils]: 43: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:19:33,174 INFO L290 TraceCheckUtils]: 42: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:19:33,174 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-15 07:19:33,174 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {16401#true} {16401#true} #67#return; {16401#true} is VALID [2022-04-15 07:19:33,174 INFO L290 TraceCheckUtils]: 39: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:19:33,174 INFO L290 TraceCheckUtils]: 38: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:19:33,174 INFO L290 TraceCheckUtils]: 37: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:19:33,174 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-15 07:19:33,174 INFO L290 TraceCheckUtils]: 35: Hoare triple {16401#true} assume !false; {16401#true} is VALID [2022-04-15 07:19:33,174 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-15 07:19:33,174 INFO L290 TraceCheckUtils]: 33: Hoare triple {16401#true} assume !!(~a~0 != ~b~0); {16401#true} is VALID [2022-04-15 07:19:33,174 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {16401#true} {16401#true} #71#return; {16401#true} is VALID [2022-04-15 07:19:33,174 INFO L290 TraceCheckUtils]: 31: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:19:33,174 INFO L290 TraceCheckUtils]: 30: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:19:33,174 INFO L290 TraceCheckUtils]: 29: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:19:33,174 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-15 07:19:33,174 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {16401#true} {16401#true} #69#return; {16401#true} is VALID [2022-04-15 07:19:33,174 INFO L290 TraceCheckUtils]: 26: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:19:33,174 INFO L290 TraceCheckUtils]: 25: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:19:33,174 INFO L290 TraceCheckUtils]: 24: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:19:33,175 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-15 07:19:33,175 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {16401#true} {16401#true} #67#return; {16401#true} is VALID [2022-04-15 07:19:33,175 INFO L290 TraceCheckUtils]: 21: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:19:33,175 INFO L290 TraceCheckUtils]: 20: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:19:33,175 INFO L290 TraceCheckUtils]: 19: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:19:33,175 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-15 07:19:33,175 INFO L290 TraceCheckUtils]: 17: Hoare triple {16401#true} assume !false; {16401#true} is VALID [2022-04-15 07:19:33,175 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-15 07:19:33,175 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {16401#true} {16401#true} #65#return; {16401#true} is VALID [2022-04-15 07:19:33,175 INFO L290 TraceCheckUtils]: 14: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:19:33,175 INFO L290 TraceCheckUtils]: 13: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:19:33,175 INFO L290 TraceCheckUtils]: 12: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:19:33,175 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-15 07:19:33,175 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {16401#true} {16401#true} #63#return; {16401#true} is VALID [2022-04-15 07:19:33,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:19:33,175 INFO L290 TraceCheckUtils]: 8: Hoare triple {16401#true} assume !(0 == ~cond); {16401#true} is VALID [2022-04-15 07:19:33,175 INFO L290 TraceCheckUtils]: 7: Hoare triple {16401#true} ~cond := #in~cond; {16401#true} is VALID [2022-04-15 07:19:33,175 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-15 07:19:33,176 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-15 07:19:33,176 INFO L272 TraceCheckUtils]: 4: Hoare triple {16401#true} call #t~ret6 := main(); {16401#true} is VALID [2022-04-15 07:19:33,176 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {16401#true} {16401#true} #81#return; {16401#true} is VALID [2022-04-15 07:19:33,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {16401#true} assume true; {16401#true} is VALID [2022-04-15 07:19:33,176 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-15 07:19:33,176 INFO L272 TraceCheckUtils]: 0: Hoare triple {16401#true} call ULTIMATE.init(); {16401#true} is VALID [2022-04-15 07:19:33,176 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-15 07:19:33,176 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:19:33,176 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1050045794] [2022-04-15 07:19:33,176 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:19:33,176 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1639445869] [2022-04-15 07:19:33,176 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1639445869] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:19:33,177 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:19:33,177 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-15 07:19:33,177 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:19:33,177 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2110772831] [2022-04-15 07:19:33,177 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2110772831] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:19:33,177 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:19:33,177 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 07:19:33,177 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2034210902] [2022-04-15 07:19:33,177 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:19:33,177 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-15 07:19:33,178 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:19:33,178 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-15 07:19:33,239 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:19:33,239 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 07:19:33,239 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:19:33,239 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 07:19:33,239 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=196, Unknown=0, NotChecked=0, Total=240 [2022-04-15 07:19:33,239 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-15 07:19:35,826 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:19:35,826 INFO L93 Difference]: Finished difference Result 261 states and 313 transitions. [2022-04-15 07:19:35,826 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 07:19:35,827 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-15 07:19:35,827 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:19:35,827 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-15 07:19:35,828 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 90 transitions. [2022-04-15 07:19:35,828 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-15 07:19:35,829 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 90 transitions. [2022-04-15 07:19:35,829 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 90 transitions. [2022-04-15 07:19:36,034 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-15 07:19:36,039 INFO L225 Difference]: With dead ends: 261 [2022-04-15 07:19:36,039 INFO L226 Difference]: Without dead ends: 259 [2022-04-15 07:19:36,039 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-15 07:19:36,039 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-15 07:19:36,040 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-15 07:19:36,040 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 259 states. [2022-04-15 07:19:36,222 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 259 to 223. [2022-04-15 07:19:36,222 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:19:36,223 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-15 07:19:36,223 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-15 07:19:36,223 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-15 07:19:36,230 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:19:36,230 INFO L93 Difference]: Finished difference Result 259 states and 311 transitions. [2022-04-15 07:19:36,230 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 311 transitions. [2022-04-15 07:19:36,231 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:19:36,231 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:19:36,231 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-15 07:19:36,231 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-15 07:19:36,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:19:36,235 INFO L93 Difference]: Finished difference Result 259 states and 311 transitions. [2022-04-15 07:19:36,236 INFO L276 IsEmpty]: Start isEmpty. Operand 259 states and 311 transitions. [2022-04-15 07:19:36,236 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:19:36,236 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:19:36,236 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:19:36,236 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:19:36,237 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-15 07:19:36,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 223 states to 223 states and 264 transitions. [2022-04-15 07:19:36,240 INFO L78 Accepts]: Start accepts. Automaton has 223 states and 264 transitions. Word has length 81 [2022-04-15 07:19:36,241 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:19:36,241 INFO L478 AbstractCegarLoop]: Abstraction has 223 states and 264 transitions. [2022-04-15 07:19:36,241 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-15 07:19:36,241 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 223 states and 264 transitions. [2022-04-15 07:19:36,963 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-15 07:19:36,964 INFO L276 IsEmpty]: Start isEmpty. Operand 223 states and 264 transitions. [2022-04-15 07:19:36,964 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 82 [2022-04-15 07:19:36,964 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:19:36,964 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-15 07:19:36,981 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-04-15 07:19:37,179 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-15 07:19:37,180 INFO L403 AbstractCegarLoop]: === Iteration 18 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:19:37,180 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:19:37,180 INFO L85 PathProgramCache]: Analyzing trace with hash 997428706, now seen corresponding path program 11 times [2022-04-15 07:19:37,180 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:19:37,180 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1719046674] [2022-04-15 07:19:37,180 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:19:37,181 INFO L85 PathProgramCache]: Analyzing trace with hash 997428706, now seen corresponding path program 12 times [2022-04-15 07:19:37,181 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:19:37,181 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1837156409] [2022-04-15 07:19:37,181 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:19:37,181 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:19:37,188 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:19:37,189 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1515069161] [2022-04-15 07:19:37,189 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:19:37,189 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:19:37,189 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:19:37,190 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:19:37,190 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-04-15 07:19:37,241 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 07:19:37,241 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:19:37,242 INFO L263 TraceCheckSpWp]: Trace formula consists of 159 conjuncts, 33 conjunts are in the unsatisfiable core [2022-04-15 07:19:37,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:19:37,263 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:19:37,634 INFO L272 TraceCheckUtils]: 0: Hoare triple {18392#true} call ULTIMATE.init(); {18392#true} is VALID [2022-04-15 07:19:37,634 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-15 07:19:37,634 INFO L290 TraceCheckUtils]: 2: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-15 07:19:37,634 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {18392#true} {18392#true} #81#return; {18392#true} is VALID [2022-04-15 07:19:37,635 INFO L272 TraceCheckUtils]: 4: Hoare triple {18392#true} call #t~ret6 := main(); {18392#true} is VALID [2022-04-15 07:19:37,635 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-15 07:19:37,635 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-15 07:19:37,635 INFO L290 TraceCheckUtils]: 7: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-15 07:19:37,635 INFO L290 TraceCheckUtils]: 8: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-15 07:19:37,635 INFO L290 TraceCheckUtils]: 9: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-15 07:19:37,635 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {18392#true} {18392#true} #63#return; {18392#true} is VALID [2022-04-15 07:19:37,635 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-15 07:19:37,635 INFO L290 TraceCheckUtils]: 12: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-15 07:19:37,635 INFO L290 TraceCheckUtils]: 13: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-15 07:19:37,635 INFO L290 TraceCheckUtils]: 14: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-15 07:19:37,635 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {18392#true} {18392#true} #65#return; {18392#true} is VALID [2022-04-15 07:19:37,635 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-15 07:19:37,636 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-15 07:19:37,636 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-15 07:19:37,636 INFO L290 TraceCheckUtils]: 19: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-15 07:19:37,636 INFO L290 TraceCheckUtils]: 20: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-15 07:19:37,636 INFO L290 TraceCheckUtils]: 21: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-15 07:19:37,637 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-15 07:19:37,637 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-15 07:19:37,637 INFO L290 TraceCheckUtils]: 24: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-15 07:19:37,637 INFO L290 TraceCheckUtils]: 25: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-15 07:19:37,637 INFO L290 TraceCheckUtils]: 26: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-15 07:19:37,637 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-15 07:19:37,637 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-15 07:19:37,637 INFO L290 TraceCheckUtils]: 29: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-15 07:19:37,637 INFO L290 TraceCheckUtils]: 30: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-15 07:19:37,638 INFO L290 TraceCheckUtils]: 31: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-15 07:19:37,638 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-15 07:19:37,638 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-15 07:19:37,639 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-15 07:19:37,639 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-15 07:19:37,639 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-15 07:19:37,639 INFO L290 TraceCheckUtils]: 37: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-15 07:19:37,639 INFO L290 TraceCheckUtils]: 38: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-15 07:19:37,639 INFO L290 TraceCheckUtils]: 39: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-15 07:19:37,640 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-15 07:19:37,640 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-15 07:19:37,640 INFO L290 TraceCheckUtils]: 42: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-15 07:19:37,640 INFO L290 TraceCheckUtils]: 43: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-15 07:19:37,640 INFO L290 TraceCheckUtils]: 44: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-15 07:19:37,641 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-15 07:19:37,641 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-15 07:19:37,641 INFO L290 TraceCheckUtils]: 47: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-15 07:19:37,641 INFO L290 TraceCheckUtils]: 48: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-15 07:19:37,641 INFO L290 TraceCheckUtils]: 49: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-15 07:19:37,641 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-15 07:19:37,642 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-15 07:19:37,642 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-15 07:19:37,643 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-15 07:19:37,643 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-15 07:19:37,643 INFO L290 TraceCheckUtils]: 55: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-15 07:19:37,643 INFO L290 TraceCheckUtils]: 56: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-15 07:19:37,643 INFO L290 TraceCheckUtils]: 57: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-15 07:19:37,643 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-15 07:19:37,643 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-15 07:19:37,643 INFO L290 TraceCheckUtils]: 60: Hoare triple {18392#true} ~cond := #in~cond; {18392#true} is VALID [2022-04-15 07:19:37,643 INFO L290 TraceCheckUtils]: 61: Hoare triple {18392#true} assume !(0 == ~cond); {18392#true} is VALID [2022-04-15 07:19:37,643 INFO L290 TraceCheckUtils]: 62: Hoare triple {18392#true} assume true; {18392#true} is VALID [2022-04-15 07:19:37,644 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-15 07:19:37,644 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-15 07:19:37,644 INFO L290 TraceCheckUtils]: 65: Hoare triple {18392#true} ~cond := #in~cond; {18593#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:19:37,645 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-15 07:19:37,645 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-15 07:19:37,646 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-15 07:19:37,646 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-15 07:19:37,647 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-15 07:19:37,647 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-15 07:19:37,647 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-15 07:19:37,648 INFO L290 TraceCheckUtils]: 73: Hoare triple {18392#true} ~cond := #in~cond; {18593#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:19:37,648 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-15 07:19:37,648 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-15 07:19:37,651 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-15 07:19:37,652 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-15 07:19:37,652 INFO L290 TraceCheckUtils]: 78: Hoare triple {18634#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {18638#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:19:37,652 INFO L290 TraceCheckUtils]: 79: Hoare triple {18638#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {18393#false} is VALID [2022-04-15 07:19:37,652 INFO L290 TraceCheckUtils]: 80: Hoare triple {18393#false} assume !false; {18393#false} is VALID [2022-04-15 07:19:37,653 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-15 07:19:37,653 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:22:14,202 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:22:14,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1837156409] [2022-04-15 07:22:14,202 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:22:14,202 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1515069161] [2022-04-15 07:22:14,202 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1515069161] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-15 07:22:14,202 INFO L184 FreeRefinementEngine]: Found 0 perfect and 1 imperfect interpolant sequences. [2022-04-15 07:22:14,202 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10] total 10 [2022-04-15 07:22:14,203 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:22:14,203 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1719046674] [2022-04-15 07:22:14,203 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1719046674] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:22:14,203 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:22:14,203 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 07:22:14,203 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [288070784] [2022-04-15 07:22:14,203 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:22:14,203 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-15 07:22:14,203 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:22:14,203 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-15 07:22:14,234 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:22:14,234 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 07:22:14,234 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:22:14,235 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 07:22:14,235 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=162, Unknown=0, NotChecked=0, Total=210 [2022-04-15 07:22:14,235 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-15 07:22:15,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:22:15,861 INFO L93 Difference]: Finished difference Result 282 states and 346 transitions. [2022-04-15 07:22:15,861 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 07:22:15,861 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-15 07:22:15,861 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:22:15,861 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-15 07:22:15,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-15 07:22:15,862 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-15 07:22:15,864 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 96 transitions. [2022-04-15 07:22:15,864 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 96 transitions. [2022-04-15 07:22:15,995 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:22:16,000 INFO L225 Difference]: With dead ends: 282 [2022-04-15 07:22:16,000 INFO L226 Difference]: Without dead ends: 276 [2022-04-15 07:22:16,000 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 114 GetRequests, 96 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 2.1s TimeCoverageRelationStatistics Valid=68, Invalid=238, Unknown=0, NotChecked=0, Total=306 [2022-04-15 07:22:16,001 INFO L913 BasicCegarLoop]: 43 mSDtfsCounter, 19 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 405 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s 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.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:22:16,001 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.7s Time] [2022-04-15 07:22:16,001 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 276 states. [2022-04-15 07:22:16,184 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 276 to 233. [2022-04-15 07:22:16,184 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:22:16,184 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-15 07:22:16,185 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-15 07:22:16,185 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-15 07:22:16,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:22:16,189 INFO L93 Difference]: Finished difference Result 276 states and 336 transitions. [2022-04-15 07:22:16,189 INFO L276 IsEmpty]: Start isEmpty. Operand 276 states and 336 transitions. [2022-04-15 07:22:16,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:22:16,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:22:16,190 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-15 07:22:16,190 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-15 07:22:16,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:22:16,195 INFO L93 Difference]: Finished difference Result 276 states and 336 transitions. [2022-04-15 07:22:16,195 INFO L276 IsEmpty]: Start isEmpty. Operand 276 states and 336 transitions. [2022-04-15 07:22:16,195 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:22:16,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:22:16,195 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:22:16,195 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:22:16,196 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-15 07:22:16,199 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 233 states to 233 states and 273 transitions. [2022-04-15 07:22:16,199 INFO L78 Accepts]: Start accepts. Automaton has 233 states and 273 transitions. Word has length 81 [2022-04-15 07:22:16,200 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:22:16,200 INFO L478 AbstractCegarLoop]: Abstraction has 233 states and 273 transitions. [2022-04-15 07:22:16,200 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-15 07:22:16,200 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 233 states and 273 transitions. [2022-04-15 07:22:16,924 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-15 07:22:16,924 INFO L276 IsEmpty]: Start isEmpty. Operand 233 states and 273 transitions. [2022-04-15 07:22:16,925 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 07:22:16,925 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:22:16,925 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-15 07:22:16,941 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-04-15 07:22:17,125 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-15 07:22:17,126 INFO L403 AbstractCegarLoop]: === Iteration 19 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:22:17,126 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:22:17,126 INFO L85 PathProgramCache]: Analyzing trace with hash 327884660, now seen corresponding path program 13 times [2022-04-15 07:22:17,126 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:22:17,126 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [299433927] [2022-04-15 07:22:17,127 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:22:17,127 INFO L85 PathProgramCache]: Analyzing trace with hash 327884660, now seen corresponding path program 14 times [2022-04-15 07:22:17,127 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:22:17,127 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1413785036] [2022-04-15 07:22:17,127 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:22:17,127 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:22:17,148 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:22:17,148 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [701899843] [2022-04-15 07:22:17,148 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:22:17,148 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:22:17,148 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:22:17,149 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:22:17,150 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-04-15 07:22:17,196 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:22:17,196 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:22:17,197 INFO L263 TraceCheckSpWp]: Trace formula consists of 213 conjuncts, 38 conjunts are in the unsatisfiable core [2022-04-15 07:22:17,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:22:17,211 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:22:18,145 INFO L272 TraceCheckUtils]: 0: Hoare triple {20330#true} call ULTIMATE.init(); {20330#true} is VALID [2022-04-15 07:22:18,145 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-15 07:22:18,145 INFO L290 TraceCheckUtils]: 2: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,145 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20330#true} {20330#true} #81#return; {20330#true} is VALID [2022-04-15 07:22:18,145 INFO L272 TraceCheckUtils]: 4: Hoare triple {20330#true} call #t~ret6 := main(); {20330#true} is VALID [2022-04-15 07:22:18,145 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-15 07:22:18,145 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-15 07:22:18,145 INFO L290 TraceCheckUtils]: 7: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,145 INFO L290 TraceCheckUtils]: 8: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,145 INFO L290 TraceCheckUtils]: 9: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,145 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20330#true} {20330#true} #63#return; {20330#true} is VALID [2022-04-15 07:22:18,145 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-15 07:22:18,145 INFO L290 TraceCheckUtils]: 12: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,146 INFO L290 TraceCheckUtils]: 13: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,146 INFO L290 TraceCheckUtils]: 14: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,146 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20330#true} {20330#true} #65#return; {20330#true} is VALID [2022-04-15 07:22:18,146 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-15 07:22:18,146 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-15 07:22:18,146 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-15 07:22:18,146 INFO L290 TraceCheckUtils]: 19: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,146 INFO L290 TraceCheckUtils]: 20: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,147 INFO L290 TraceCheckUtils]: 21: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,147 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-15 07:22:18,147 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-15 07:22:18,147 INFO L290 TraceCheckUtils]: 24: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,147 INFO L290 TraceCheckUtils]: 25: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,147 INFO L290 TraceCheckUtils]: 26: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,151 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-15 07:22:18,151 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-15 07:22:18,151 INFO L290 TraceCheckUtils]: 29: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,151 INFO L290 TraceCheckUtils]: 30: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,152 INFO L290 TraceCheckUtils]: 31: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,152 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-15 07:22:18,152 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-15 07:22:18,153 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-15 07:22:18,153 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-15 07:22:18,153 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-15 07:22:18,153 INFO L290 TraceCheckUtils]: 37: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,153 INFO L290 TraceCheckUtils]: 38: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,153 INFO L290 TraceCheckUtils]: 39: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,154 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-15 07:22:18,154 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-15 07:22:18,154 INFO L290 TraceCheckUtils]: 42: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,154 INFO L290 TraceCheckUtils]: 43: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,154 INFO L290 TraceCheckUtils]: 44: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,155 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-15 07:22:18,155 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-15 07:22:18,155 INFO L290 TraceCheckUtils]: 47: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,155 INFO L290 TraceCheckUtils]: 48: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,155 INFO L290 TraceCheckUtils]: 49: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,156 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-15 07:22:18,156 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-15 07:22:18,157 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-15 07:22:18,157 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-15 07:22:18,157 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-15 07:22:18,157 INFO L290 TraceCheckUtils]: 55: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,158 INFO L290 TraceCheckUtils]: 56: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,158 INFO L290 TraceCheckUtils]: 57: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,158 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-15 07:22:18,158 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-15 07:22:18,158 INFO L290 TraceCheckUtils]: 60: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,158 INFO L290 TraceCheckUtils]: 61: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,158 INFO L290 TraceCheckUtils]: 62: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,159 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-15 07:22:18,159 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-15 07:22:18,159 INFO L290 TraceCheckUtils]: 65: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,159 INFO L290 TraceCheckUtils]: 66: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,159 INFO L290 TraceCheckUtils]: 67: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,160 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-15 07:22:18,160 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-15 07:22:18,161 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-15 07:22:18,162 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-15 07:22:18,162 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-15 07:22:18,162 INFO L290 TraceCheckUtils]: 73: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,162 INFO L290 TraceCheckUtils]: 74: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,162 INFO L290 TraceCheckUtils]: 75: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,168 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-15 07:22:18,168 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-15 07:22:18,168 INFO L290 TraceCheckUtils]: 78: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,168 INFO L290 TraceCheckUtils]: 79: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,168 INFO L290 TraceCheckUtils]: 80: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,168 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-15 07:22:18,169 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-15 07:22:18,170 INFO L290 TraceCheckUtils]: 83: Hoare triple {20586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:22:18,170 INFO L290 TraceCheckUtils]: 84: Hoare triple {20590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20331#false} is VALID [2022-04-15 07:22:18,170 INFO L290 TraceCheckUtils]: 85: Hoare triple {20331#false} assume !false; {20331#false} is VALID [2022-04-15 07:22:18,170 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-15 07:22:18,170 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:22:18,765 INFO L290 TraceCheckUtils]: 85: Hoare triple {20331#false} assume !false; {20331#false} is VALID [2022-04-15 07:22:18,765 INFO L290 TraceCheckUtils]: 84: Hoare triple {20590#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {20331#false} is VALID [2022-04-15 07:22:18,766 INFO L290 TraceCheckUtils]: 83: Hoare triple {20586#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {20590#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:22:18,766 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-15 07:22:18,767 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-15 07:22:18,767 INFO L290 TraceCheckUtils]: 80: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,767 INFO L290 TraceCheckUtils]: 79: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,767 INFO L290 TraceCheckUtils]: 78: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,767 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-15 07:22:18,767 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-15 07:22:18,768 INFO L290 TraceCheckUtils]: 75: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,768 INFO L290 TraceCheckUtils]: 74: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,768 INFO L290 TraceCheckUtils]: 73: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,768 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-15 07:22:18,768 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-15 07:22:18,822 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-15 07:22:18,822 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-15 07:22:18,823 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-15 07:22:18,823 INFO L290 TraceCheckUtils]: 67: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,823 INFO L290 TraceCheckUtils]: 66: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,823 INFO L290 TraceCheckUtils]: 65: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,823 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-15 07:22:18,823 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-15 07:22:18,824 INFO L290 TraceCheckUtils]: 62: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,824 INFO L290 TraceCheckUtils]: 61: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,824 INFO L290 TraceCheckUtils]: 60: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,824 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-15 07:22:18,824 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-15 07:22:18,824 INFO L290 TraceCheckUtils]: 57: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,824 INFO L290 TraceCheckUtils]: 56: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,824 INFO L290 TraceCheckUtils]: 55: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,824 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-15 07:22:18,825 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-15 07:22:18,911 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-15 07:22:18,912 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-15 07:22:18,913 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-15 07:22:18,913 INFO L290 TraceCheckUtils]: 49: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,913 INFO L290 TraceCheckUtils]: 48: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,913 INFO L290 TraceCheckUtils]: 47: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,913 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-15 07:22:18,913 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-15 07:22:18,913 INFO L290 TraceCheckUtils]: 44: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,914 INFO L290 TraceCheckUtils]: 43: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,914 INFO L290 TraceCheckUtils]: 42: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,914 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-15 07:22:18,914 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-15 07:22:18,914 INFO L290 TraceCheckUtils]: 39: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:18,914 INFO L290 TraceCheckUtils]: 38: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:18,914 INFO L290 TraceCheckUtils]: 37: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:18,914 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-15 07:22:18,915 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-15 07:22:20,844 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-15 07:22:20,845 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-15 07:22:20,846 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-15 07:22:20,846 INFO L290 TraceCheckUtils]: 31: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:20,846 INFO L290 TraceCheckUtils]: 30: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:20,846 INFO L290 TraceCheckUtils]: 29: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:20,846 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-15 07:22:20,847 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-15 07:22:20,847 INFO L290 TraceCheckUtils]: 26: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:20,847 INFO L290 TraceCheckUtils]: 25: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:20,847 INFO L290 TraceCheckUtils]: 24: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:20,847 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-15 07:22:20,847 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-15 07:22:20,847 INFO L290 TraceCheckUtils]: 21: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:20,848 INFO L290 TraceCheckUtils]: 20: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:20,848 INFO L290 TraceCheckUtils]: 19: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:20,848 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-15 07:22:20,848 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-15 07:22:20,849 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-15 07:22:20,849 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {20330#true} {20330#true} #65#return; {20330#true} is VALID [2022-04-15 07:22:20,849 INFO L290 TraceCheckUtils]: 14: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:20,849 INFO L290 TraceCheckUtils]: 13: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:20,849 INFO L290 TraceCheckUtils]: 12: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:20,849 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-15 07:22:20,849 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {20330#true} {20330#true} #63#return; {20330#true} is VALID [2022-04-15 07:22:20,849 INFO L290 TraceCheckUtils]: 9: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:20,850 INFO L290 TraceCheckUtils]: 8: Hoare triple {20330#true} assume !(0 == ~cond); {20330#true} is VALID [2022-04-15 07:22:20,850 INFO L290 TraceCheckUtils]: 7: Hoare triple {20330#true} ~cond := #in~cond; {20330#true} is VALID [2022-04-15 07:22:20,850 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-15 07:22:20,850 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-15 07:22:20,850 INFO L272 TraceCheckUtils]: 4: Hoare triple {20330#true} call #t~ret6 := main(); {20330#true} is VALID [2022-04-15 07:22:20,850 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {20330#true} {20330#true} #81#return; {20330#true} is VALID [2022-04-15 07:22:20,850 INFO L290 TraceCheckUtils]: 2: Hoare triple {20330#true} assume true; {20330#true} is VALID [2022-04-15 07:22:20,850 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-15 07:22:20,850 INFO L272 TraceCheckUtils]: 0: Hoare triple {20330#true} call ULTIMATE.init(); {20330#true} is VALID [2022-04-15 07:22:20,850 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-15 07:22:20,850 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:22:20,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1413785036] [2022-04-15 07:22:20,851 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:22:20,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [701899843] [2022-04-15 07:22:20,851 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [701899843] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:22:20,851 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:22:20,851 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 9] total 14 [2022-04-15 07:22:20,851 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:22:20,851 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [299433927] [2022-04-15 07:22:20,851 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [299433927] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:22:20,851 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:22:20,851 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-15 07:22:20,851 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1852562450] [2022-04-15 07:22:20,851 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:22:20,852 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-15 07:22:20,852 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:22:20,852 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-15 07:22:20,910 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-15 07:22:20,910 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-15 07:22:20,910 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:22:20,911 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-15 07:22:20,911 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=134, Unknown=0, NotChecked=0, Total=182 [2022-04-15 07:22:20,911 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-15 07:22:23,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:22:23,811 INFO L93 Difference]: Finished difference Result 255 states and 307 transitions. [2022-04-15 07:22:23,811 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-15 07:22:23,811 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-15 07:22:23,811 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:22:23,811 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-15 07:22:23,812 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 90 transitions. [2022-04-15 07:22:23,812 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-15 07:22:23,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 90 transitions. [2022-04-15 07:22:23,813 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 90 transitions. [2022-04-15 07:22:23,909 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-15 07:22:23,913 INFO L225 Difference]: With dead ends: 255 [2022-04-15 07:22:23,913 INFO L226 Difference]: Without dead ends: 249 [2022-04-15 07:22:23,914 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-15 07:22:23,914 INFO L913 BasicCegarLoop]: 51 mSDtfsCounter, 9 mSDsluCounter, 157 mSDsCounter, 0 mSdLazyCounter, 293 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s 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.8s IncrementalHoareTripleChecker+Time [2022-04-15 07:22:23,914 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.8s Time] [2022-04-15 07:22:23,914 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 249 states. [2022-04-15 07:22:24,165 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 249 to 236. [2022-04-15 07:22:24,165 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:22:24,165 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-15 07:22:24,166 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-15 07:22:24,166 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-15 07:22:24,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:22:24,169 INFO L93 Difference]: Finished difference Result 249 states and 296 transitions. [2022-04-15 07:22:24,170 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 296 transitions. [2022-04-15 07:22:24,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:22:24,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:22:24,170 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-15 07:22:24,171 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-15 07:22:24,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:22:24,174 INFO L93 Difference]: Finished difference Result 249 states and 296 transitions. [2022-04-15 07:22:24,174 INFO L276 IsEmpty]: Start isEmpty. Operand 249 states and 296 transitions. [2022-04-15 07:22:24,175 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:22:24,175 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:22:24,175 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:22:24,175 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:22:24,175 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-15 07:22:24,178 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 236 states to 236 states and 278 transitions. [2022-04-15 07:22:24,179 INFO L78 Accepts]: Start accepts. Automaton has 236 states and 278 transitions. Word has length 86 [2022-04-15 07:22:24,179 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:22:24,179 INFO L478 AbstractCegarLoop]: Abstraction has 236 states and 278 transitions. [2022-04-15 07:22:24,179 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-15 07:22:24,179 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 236 states and 278 transitions. [2022-04-15 07:22:25,811 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-15 07:22:25,812 INFO L276 IsEmpty]: Start isEmpty. Operand 236 states and 278 transitions. [2022-04-15 07:22:25,812 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 07:22:25,813 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:22:25,813 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-15 07:22:25,835 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-04-15 07:22:26,019 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-15 07:22:26,019 INFO L403 AbstractCegarLoop]: === Iteration 20 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:22:26,020 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:22:26,020 INFO L85 PathProgramCache]: Analyzing trace with hash -1916098638, now seen corresponding path program 15 times [2022-04-15 07:22:26,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:22:26,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [273418361] [2022-04-15 07:22:26,020 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:22:26,020 INFO L85 PathProgramCache]: Analyzing trace with hash -1916098638, now seen corresponding path program 16 times [2022-04-15 07:22:26,020 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:22:26,020 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1960894123] [2022-04-15 07:22:26,021 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:22:26,021 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:22:26,028 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:22:26,028 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [355367225] [2022-04-15 07:22:26,028 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:22:26,029 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:22:26,029 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:22:26,029 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:22:26,032 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-04-15 07:22:26,071 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:22:26,072 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:22:26,072 INFO L263 TraceCheckSpWp]: Trace formula consists of 182 conjuncts, 50 conjunts are in the unsatisfiable core [2022-04-15 07:22:26,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:22:26,093 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:23:40,106 INFO L272 TraceCheckUtils]: 0: Hoare triple {22341#true} call ULTIMATE.init(); {22341#true} is VALID [2022-04-15 07:23:40,106 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-15 07:23:40,106 INFO L290 TraceCheckUtils]: 2: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:23:40,106 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22341#true} {22341#true} #81#return; {22341#true} is VALID [2022-04-15 07:23:40,106 INFO L272 TraceCheckUtils]: 4: Hoare triple {22341#true} call #t~ret6 := main(); {22341#true} is VALID [2022-04-15 07:23:40,106 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-15 07:23:40,106 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-15 07:23:40,106 INFO L290 TraceCheckUtils]: 7: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:23:40,106 INFO L290 TraceCheckUtils]: 8: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:23:40,106 INFO L290 TraceCheckUtils]: 9: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:23:40,106 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22341#true} {22341#true} #63#return; {22341#true} is VALID [2022-04-15 07:23:40,107 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-15 07:23:40,107 INFO L290 TraceCheckUtils]: 12: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:23:40,107 INFO L290 TraceCheckUtils]: 13: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:23:40,107 INFO L290 TraceCheckUtils]: 14: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:23:40,107 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22341#true} {22341#true} #65#return; {22341#true} is VALID [2022-04-15 07:23:40,107 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-15 07:23:40,107 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-15 07:23:40,108 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-15 07:23:40,108 INFO L290 TraceCheckUtils]: 19: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:23:40,108 INFO L290 TraceCheckUtils]: 20: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:23:40,108 INFO L290 TraceCheckUtils]: 21: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:23:40,108 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-15 07:23:40,108 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-15 07:23:40,108 INFO L290 TraceCheckUtils]: 24: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:23:40,108 INFO L290 TraceCheckUtils]: 25: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:23:40,108 INFO L290 TraceCheckUtils]: 26: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:23:40,109 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-15 07:23:40,109 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-15 07:23:40,109 INFO L290 TraceCheckUtils]: 29: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:23:40,109 INFO L290 TraceCheckUtils]: 30: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:23:40,109 INFO L290 TraceCheckUtils]: 31: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:23:40,110 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-15 07:23:40,110 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-15 07:23:40,111 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-15 07:23:40,111 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-15 07:23:40,112 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-15 07:23:40,112 INFO L290 TraceCheckUtils]: 37: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:23:40,112 INFO L290 TraceCheckUtils]: 38: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:23:40,112 INFO L290 TraceCheckUtils]: 39: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:23:40,112 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-15 07:23:40,112 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-15 07:23:40,112 INFO L290 TraceCheckUtils]: 42: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:23:40,112 INFO L290 TraceCheckUtils]: 43: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:23:40,112 INFO L290 TraceCheckUtils]: 44: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:23:40,113 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-15 07:23:40,113 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-15 07:23:40,113 INFO L290 TraceCheckUtils]: 47: Hoare triple {22341#true} ~cond := #in~cond; {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:23:40,114 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-15 07:23:40,114 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-15 07:23:40,114 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-15 07:23:40,115 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-15 07:23:40,116 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-15 07:23:40,116 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-15 07:23:40,116 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-15 07:23:40,117 INFO L290 TraceCheckUtils]: 55: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:23:40,117 INFO L290 TraceCheckUtils]: 56: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:23:40,117 INFO L290 TraceCheckUtils]: 57: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:23:40,117 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-15 07:23:40,117 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-15 07:23:40,117 INFO L290 TraceCheckUtils]: 60: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:23:40,117 INFO L290 TraceCheckUtils]: 61: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:23:40,117 INFO L290 TraceCheckUtils]: 62: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:23:40,118 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-15 07:23:40,118 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-15 07:23:40,118 INFO L290 TraceCheckUtils]: 65: Hoare triple {22341#true} ~cond := #in~cond; {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:23:40,118 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-15 07:23:40,119 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-15 07:23:40,120 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-15 07:23:40,120 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-15 07:23:40,122 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-15 07:23:40,123 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-15 07:23:40,123 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-15 07:23:40,123 INFO L290 TraceCheckUtils]: 73: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:23:40,123 INFO L290 TraceCheckUtils]: 74: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:23:40,123 INFO L290 TraceCheckUtils]: 75: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:23:40,124 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-15 07:23:40,124 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-15 07:23:40,124 INFO L290 TraceCheckUtils]: 78: Hoare triple {22341#true} ~cond := #in~cond; {22489#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:23:40,124 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-15 07:23:40,125 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-15 07:23:40,127 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-15 07:23:40,130 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-15 07:23:40,130 INFO L290 TraceCheckUtils]: 83: Hoare triple {22601#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22605#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:23:40,130 INFO L290 TraceCheckUtils]: 84: Hoare triple {22605#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22342#false} is VALID [2022-04-15 07:23:40,131 INFO L290 TraceCheckUtils]: 85: Hoare triple {22342#false} assume !false; {22342#false} is VALID [2022-04-15 07:23:40,131 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-15 07:23:40,131 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:24:31,347 INFO L290 TraceCheckUtils]: 85: Hoare triple {22342#false} assume !false; {22342#false} is VALID [2022-04-15 07:24:31,348 INFO L290 TraceCheckUtils]: 84: Hoare triple {22605#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {22342#false} is VALID [2022-04-15 07:24:31,348 INFO L290 TraceCheckUtils]: 83: Hoare triple {22601#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {22605#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:24:31,349 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-15 07:24:31,350 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-15 07:24:31,350 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-15 07:24:31,350 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-15 07:24:31,351 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-15 07:24:31,351 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-15 07:24:31,351 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-15 07:24:31,351 INFO L290 TraceCheckUtils]: 75: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:24:31,351 INFO L290 TraceCheckUtils]: 74: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:24:31,351 INFO L290 TraceCheckUtils]: 73: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:24:31,351 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-15 07:24:31,352 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-15 07:24:32,136 INFO 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 VALID [2022-04-15 07:24:32,137 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-15 07:24:32,138 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-15 07:24:32,139 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-15 07:24:32,139 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-15 07:24:32,139 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-15 07:24:32,139 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-15 07:24:32,139 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {22341#true} {22341#true} #69#return; {22341#true} is VALID [2022-04-15 07:24:32,140 INFO L290 TraceCheckUtils]: 62: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:24:32,140 INFO L290 TraceCheckUtils]: 61: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:24:32,140 INFO L290 TraceCheckUtils]: 60: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:24:32,140 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-15 07:24:32,140 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {22341#true} {22341#true} #67#return; {22341#true} is VALID [2022-04-15 07:24:32,140 INFO L290 TraceCheckUtils]: 57: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:24:32,140 INFO L290 TraceCheckUtils]: 56: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:24:32,140 INFO L290 TraceCheckUtils]: 55: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:24:32,140 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-15 07:24:32,140 INFO L290 TraceCheckUtils]: 53: Hoare triple {22341#true} assume !false; {22341#true} is VALID [2022-04-15 07:24:32,140 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-15 07:24:32,140 INFO L290 TraceCheckUtils]: 51: Hoare triple {22341#true} assume !!(~a~0 != ~b~0); {22341#true} is VALID [2022-04-15 07:24:32,140 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {22341#true} {22341#true} #71#return; {22341#true} is VALID [2022-04-15 07:24:32,140 INFO L290 TraceCheckUtils]: 49: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:24:32,140 INFO L290 TraceCheckUtils]: 48: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:24:32,140 INFO L290 TraceCheckUtils]: 47: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:24:32,140 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-15 07:24:32,140 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {22341#true} {22341#true} #69#return; {22341#true} is VALID [2022-04-15 07:24:32,140 INFO L290 TraceCheckUtils]: 44: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:24:32,141 INFO L290 TraceCheckUtils]: 43: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:24:32,141 INFO L290 TraceCheckUtils]: 42: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:24:32,141 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-15 07:24:32,141 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {22341#true} {22341#true} #67#return; {22341#true} is VALID [2022-04-15 07:24:32,141 INFO L290 TraceCheckUtils]: 39: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:24:32,141 INFO L290 TraceCheckUtils]: 38: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:24:32,141 INFO L290 TraceCheckUtils]: 37: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:24:32,141 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-15 07:24:32,141 INFO L290 TraceCheckUtils]: 35: Hoare triple {22341#true} assume !false; {22341#true} is VALID [2022-04-15 07:24:32,141 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-15 07:24:32,141 INFO L290 TraceCheckUtils]: 33: Hoare triple {22341#true} assume !!(~a~0 != ~b~0); {22341#true} is VALID [2022-04-15 07:24:32,141 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {22341#true} {22341#true} #71#return; {22341#true} is VALID [2022-04-15 07:24:32,141 INFO L290 TraceCheckUtils]: 31: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:24:32,141 INFO L290 TraceCheckUtils]: 30: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:24:32,141 INFO L290 TraceCheckUtils]: 29: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:24:32,141 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-15 07:24:32,141 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {22341#true} {22341#true} #69#return; {22341#true} is VALID [2022-04-15 07:24:32,141 INFO L290 TraceCheckUtils]: 26: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:24:32,142 INFO L290 TraceCheckUtils]: 25: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:24:32,142 INFO L290 TraceCheckUtils]: 24: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:24:32,142 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-15 07:24:32,142 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {22341#true} {22341#true} #67#return; {22341#true} is VALID [2022-04-15 07:24:32,142 INFO L290 TraceCheckUtils]: 21: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:24:32,142 INFO L290 TraceCheckUtils]: 20: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:24:32,142 INFO L290 TraceCheckUtils]: 19: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:24:32,142 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-15 07:24:32,142 INFO L290 TraceCheckUtils]: 17: Hoare triple {22341#true} assume !false; {22341#true} is VALID [2022-04-15 07:24:32,142 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-15 07:24:32,142 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {22341#true} {22341#true} #65#return; {22341#true} is VALID [2022-04-15 07:24:32,142 INFO L290 TraceCheckUtils]: 14: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:24:32,142 INFO L290 TraceCheckUtils]: 13: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:24:32,142 INFO L290 TraceCheckUtils]: 12: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:24:32,142 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-15 07:24:32,142 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {22341#true} {22341#true} #63#return; {22341#true} is VALID [2022-04-15 07:24:32,142 INFO L290 TraceCheckUtils]: 9: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:24:32,142 INFO L290 TraceCheckUtils]: 8: Hoare triple {22341#true} assume !(0 == ~cond); {22341#true} is VALID [2022-04-15 07:24:32,142 INFO L290 TraceCheckUtils]: 7: Hoare triple {22341#true} ~cond := #in~cond; {22341#true} is VALID [2022-04-15 07:24:32,143 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-15 07:24:32,143 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-15 07:24:32,143 INFO L272 TraceCheckUtils]: 4: Hoare triple {22341#true} call #t~ret6 := main(); {22341#true} is VALID [2022-04-15 07:24:32,143 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {22341#true} {22341#true} #81#return; {22341#true} is VALID [2022-04-15 07:24:32,143 INFO L290 TraceCheckUtils]: 2: Hoare triple {22341#true} assume true; {22341#true} is VALID [2022-04-15 07:24:32,143 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-15 07:24:32,143 INFO L272 TraceCheckUtils]: 0: Hoare triple {22341#true} call ULTIMATE.init(); {22341#true} is VALID [2022-04-15 07:24:32,143 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-15 07:24:32,144 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:24:32,144 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1960894123] [2022-04-15 07:24:32,144 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:24:32,144 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [355367225] [2022-04-15 07:24:32,144 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [355367225] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:24:32,144 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:24:32,144 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-15 07:24:32,152 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:24:32,152 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [273418361] [2022-04-15 07:24:32,153 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [273418361] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:24:32,153 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:24:32,153 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 07:24:32,153 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [235184869] [2022-04-15 07:24:32,153 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:24:32,153 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-15 07:24:32,153 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:24:32,153 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-15 07:24:32,212 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-15 07:24:32,212 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 07:24:32,212 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:24:32,213 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 07:24:32,213 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=232, Unknown=0, NotChecked=0, Total=306 [2022-04-15 07:24:32,213 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-15 07:24:38,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:24:38,221 INFO L93 Difference]: Finished difference Result 282 states and 338 transitions. [2022-04-15 07:24:38,221 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-15 07:24:38,221 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-15 07:24:38,221 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:24:38,221 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-15 07:24:38,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 108 transitions. [2022-04-15 07:24:38,222 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-15 07:24:38,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 108 transitions. [2022-04-15 07:24:38,224 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 108 transitions. [2022-04-15 07:24:38,370 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-15 07:24:38,375 INFO L225 Difference]: With dead ends: 282 [2022-04-15 07:24:38,375 INFO L226 Difference]: Without dead ends: 272 [2022-04-15 07:24:38,375 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 173 GetRequests, 153 SyntacticMatches, 2 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 47 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=87, Invalid=293, Unknown=0, NotChecked=0, Total=380 [2022-04-15 07:24:38,376 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 20 mSDsluCounter, 165 mSDsCounter, 0 mSdLazyCounter, 569 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 3.0s 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.0s IncrementalHoareTripleChecker+Time [2022-04-15 07:24:38,376 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.0s Time] [2022-04-15 07:24:38,376 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 272 states. [2022-04-15 07:24:38,659 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 272 to 254. [2022-04-15 07:24:38,659 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:24:38,659 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-15 07:24:38,660 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-15 07:24:38,660 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-15 07:24:38,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:24:38,664 INFO L93 Difference]: Finished difference Result 272 states and 320 transitions. [2022-04-15 07:24:38,664 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 320 transitions. [2022-04-15 07:24:38,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:24:38,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:24:38,665 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-15 07:24:38,665 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-15 07:24:38,669 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:24:38,669 INFO L93 Difference]: Finished difference Result 272 states and 320 transitions. [2022-04-15 07:24:38,669 INFO L276 IsEmpty]: Start isEmpty. Operand 272 states and 320 transitions. [2022-04-15 07:24:38,670 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:24:38,670 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:24:38,670 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:24:38,670 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:24:38,670 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-15 07:24:38,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 254 states to 254 states and 297 transitions. [2022-04-15 07:24:38,674 INFO L78 Accepts]: Start accepts. Automaton has 254 states and 297 transitions. Word has length 86 [2022-04-15 07:24:38,674 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:24:38,674 INFO L478 AbstractCegarLoop]: Abstraction has 254 states and 297 transitions. [2022-04-15 07:24:38,674 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-15 07:24:38,674 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 254 states and 297 transitions. [2022-04-15 07:24:40,818 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-15 07:24:40,818 INFO L276 IsEmpty]: Start isEmpty. Operand 254 states and 297 transitions. [2022-04-15 07:24:40,827 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 87 [2022-04-15 07:24:40,827 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:24:40,827 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-15 07:24:40,843 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-04-15 07:24:41,032 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-15 07:24:41,033 INFO L403 AbstractCegarLoop]: === Iteration 21 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:24:41,033 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:24:41,033 INFO L85 PathProgramCache]: Analyzing trace with hash 1866224690, now seen corresponding path program 17 times [2022-04-15 07:24:41,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:24:41,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [411883678] [2022-04-15 07:24:41,033 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:24:41,034 INFO L85 PathProgramCache]: Analyzing trace with hash 1866224690, now seen corresponding path program 18 times [2022-04-15 07:24:41,034 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:24:41,034 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2025989647] [2022-04-15 07:24:41,034 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:24:41,034 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:24:41,043 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:24:41,043 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [167842] [2022-04-15 07:24:41,043 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-15 07:24:41,043 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:24:41,043 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:24:41,044 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:24:41,045 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-04-15 07:24:41,096 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 5 check-sat command(s) [2022-04-15 07:24:41,096 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:24:41,097 INFO L263 TraceCheckSpWp]: Trace formula consists of 168 conjuncts, 35 conjunts are in the unsatisfiable core [2022-04-15 07:24:41,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:24:41,213 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:25:49,843 INFO L272 TraceCheckUtils]: 0: Hoare triple {24494#true} call ULTIMATE.init(); {24494#true} is VALID [2022-04-15 07:25:49,843 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-15 07:25:49,843 INFO L290 TraceCheckUtils]: 2: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:25:49,843 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24494#true} {24494#true} #81#return; {24494#true} is VALID [2022-04-15 07:25:49,843 INFO L272 TraceCheckUtils]: 4: Hoare triple {24494#true} call #t~ret6 := main(); {24494#true} is VALID [2022-04-15 07:25:49,843 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-15 07:25:49,844 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-15 07:25:49,844 INFO L290 TraceCheckUtils]: 7: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:25:49,844 INFO L290 TraceCheckUtils]: 8: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:25:49,844 INFO L290 TraceCheckUtils]: 9: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:25:49,844 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24494#true} {24494#true} #63#return; {24494#true} is VALID [2022-04-15 07:25:49,844 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-15 07:25:49,844 INFO L290 TraceCheckUtils]: 12: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:25:49,844 INFO L290 TraceCheckUtils]: 13: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:25:49,844 INFO L290 TraceCheckUtils]: 14: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:25:49,844 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {24494#true} {24494#true} #65#return; {24494#true} is VALID [2022-04-15 07:25:49,844 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-15 07:25:49,845 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-15 07:25:49,845 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-15 07:25:49,845 INFO L290 TraceCheckUtils]: 19: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:25:49,845 INFO L290 TraceCheckUtils]: 20: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:25:49,845 INFO L290 TraceCheckUtils]: 21: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:25:49,845 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-15 07:25:49,845 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-15 07:25:49,845 INFO L290 TraceCheckUtils]: 24: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:25:49,846 INFO L290 TraceCheckUtils]: 25: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:25:49,846 INFO L290 TraceCheckUtils]: 26: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:25:49,846 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-15 07:25:49,846 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-15 07:25:49,846 INFO L290 TraceCheckUtils]: 29: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:25:49,846 INFO L290 TraceCheckUtils]: 30: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:25:49,846 INFO L290 TraceCheckUtils]: 31: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:25:49,847 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-15 07:25:49,847 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-15 07:25:49,847 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-15 07:25:49,848 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-15 07:25:49,848 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-15 07:25:49,848 INFO L290 TraceCheckUtils]: 37: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:25:49,848 INFO L290 TraceCheckUtils]: 38: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:25:49,848 INFO L290 TraceCheckUtils]: 39: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:25:49,848 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-15 07:25:49,848 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-15 07:25:49,849 INFO L290 TraceCheckUtils]: 42: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:25:49,849 INFO L290 TraceCheckUtils]: 43: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:25:49,849 INFO L290 TraceCheckUtils]: 44: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:25:49,849 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-15 07:25:49,849 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-15 07:25:49,849 INFO L290 TraceCheckUtils]: 47: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:25:49,849 INFO L290 TraceCheckUtils]: 48: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:25:49,849 INFO L290 TraceCheckUtils]: 49: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:25:49,850 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-15 07:25:49,850 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-15 07:25:49,851 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-15 07:25:49,851 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-15 07:25:49,851 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-15 07:25:49,851 INFO L290 TraceCheckUtils]: 55: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:25:49,851 INFO L290 TraceCheckUtils]: 56: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:25:49,851 INFO L290 TraceCheckUtils]: 57: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:25:49,852 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-15 07:25:49,852 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-15 07:25:49,852 INFO L290 TraceCheckUtils]: 60: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:25:49,852 INFO L290 TraceCheckUtils]: 61: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:25:49,852 INFO L290 TraceCheckUtils]: 62: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:25:49,852 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-15 07:25:49,852 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-15 07:25:49,853 INFO L290 TraceCheckUtils]: 65: Hoare triple {24494#true} ~cond := #in~cond; {24696#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:25:49,853 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-15 07:25:49,853 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-15 07:25:49,854 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-15 07:25:49,854 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-15 07:25:50,036 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-15 07:25:50,037 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-15 07:25:50,037 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-15 07:25:50,037 INFO L290 TraceCheckUtils]: 73: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:25:50,037 INFO L290 TraceCheckUtils]: 74: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:25:50,037 INFO L290 TraceCheckUtils]: 75: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:25:50,038 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-15 07:25:50,038 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-15 07:25:50,038 INFO L290 TraceCheckUtils]: 78: Hoare triple {24494#true} ~cond := #in~cond; {24696#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:25:50,038 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-15 07:25:50,039 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-15 07:25:51,261 INFO 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 (+ main_~x~0 (* (- 2) (* (- 1) main_~y~0 (div (- main_~s~0) 2))) (* (- 2) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (- 2) (* (- 1) main_~y~0 main_~s~0)))) (= (mod main_~s~0 2) 0) (= (mod (+ main_~q~0 1) 2) 0) (= (+ (* main_~y~0 (div (- main_~s~0) 2)) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (+ (* (- 1) main_~y~0 main_~s~0) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0) (* (- 1) main_~y~0 (div (- main_~s~0) 2)))))} is VALID [2022-04-15 07:25:52,905 INFO L272 TraceCheckUtils]: 82: Hoare triple {24748#(and (= main_~b~0 (+ main_~x~0 (* (- 2) (* (- 1) main_~y~0 (div (- main_~s~0) 2))) (* (- 2) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (* (- 2) (* (- 1) main_~y~0 main_~s~0)))) (= (mod main_~s~0 2) 0) (= (mod (+ main_~q~0 1) 2) 0) (= (+ (* main_~y~0 (div (- main_~s~0) 2)) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0)) (+ (* (- 1) main_~y~0 main_~s~0) (* (div (+ (* (- 1) main_~q~0) 1) 2) main_~x~0) (* (- 1) main_~y~0 (div (- main_~s~0) 2)))))} 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-15 07:25:52,905 INFO L290 TraceCheckUtils]: 83: Hoare triple {24752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:25:52,906 INFO L290 TraceCheckUtils]: 84: Hoare triple {24756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {24495#false} is VALID [2022-04-15 07:25:52,906 INFO L290 TraceCheckUtils]: 85: Hoare triple {24495#false} assume !false; {24495#false} is VALID [2022-04-15 07:25:52,906 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-15 07:25:52,906 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:26:21,935 INFO L290 TraceCheckUtils]: 85: Hoare triple {24495#false} assume !false; {24495#false} is VALID [2022-04-15 07:26:21,936 INFO L290 TraceCheckUtils]: 84: Hoare triple {24756#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {24495#false} is VALID [2022-04-15 07:26:21,936 INFO L290 TraceCheckUtils]: 83: Hoare triple {24752#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {24756#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:26:21,937 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-15 07:26:21,937 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-15 07:26:21,938 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-15 07:26:21,938 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-15 07:26:21,938 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-15 07:26:21,938 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-15 07:26:21,939 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-15 07:26:21,939 INFO L290 TraceCheckUtils]: 75: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:26:21,939 INFO L290 TraceCheckUtils]: 74: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:26:21,939 INFO L290 TraceCheckUtils]: 73: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:26:21,939 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-15 07:26:21,939 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-15 07:26:22,156 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-15 07:26:22,157 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-15 07:26:22,158 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-15 07:26:22,158 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-15 07:26:22,158 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-15 07:26:22,158 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-15 07:26:22,159 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-15 07:26:22,159 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {24494#true} {24494#true} #69#return; {24494#true} is VALID [2022-04-15 07:26:22,159 INFO L290 TraceCheckUtils]: 62: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:26:22,159 INFO L290 TraceCheckUtils]: 61: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:26:22,159 INFO L290 TraceCheckUtils]: 60: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:26:22,159 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-15 07:26:22,159 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {24494#true} {24494#true} #67#return; {24494#true} is VALID [2022-04-15 07:26:22,159 INFO L290 TraceCheckUtils]: 57: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:26:22,159 INFO L290 TraceCheckUtils]: 56: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:26:22,159 INFO L290 TraceCheckUtils]: 55: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:26:22,159 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-15 07:26:22,159 INFO L290 TraceCheckUtils]: 53: Hoare triple {24494#true} assume !false; {24494#true} is VALID [2022-04-15 07:26:22,159 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-15 07:26:22,159 INFO L290 TraceCheckUtils]: 51: Hoare triple {24494#true} assume !!(~a~0 != ~b~0); {24494#true} is VALID [2022-04-15 07:26:22,159 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {24494#true} {24494#true} #71#return; {24494#true} is VALID [2022-04-15 07:26:22,160 INFO L290 TraceCheckUtils]: 49: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:26:22,160 INFO L290 TraceCheckUtils]: 48: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:26:22,160 INFO L290 TraceCheckUtils]: 47: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:26:22,160 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-15 07:26:22,160 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {24494#true} {24494#true} #69#return; {24494#true} is VALID [2022-04-15 07:26:22,160 INFO L290 TraceCheckUtils]: 44: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:26:22,160 INFO L290 TraceCheckUtils]: 43: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:26:22,160 INFO L290 TraceCheckUtils]: 42: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:26:22,160 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-15 07:26:22,160 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {24494#true} {24494#true} #67#return; {24494#true} is VALID [2022-04-15 07:26:22,160 INFO L290 TraceCheckUtils]: 39: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:26:22,160 INFO L290 TraceCheckUtils]: 38: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:26:22,160 INFO L290 TraceCheckUtils]: 37: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:26:22,160 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-15 07:26:22,160 INFO L290 TraceCheckUtils]: 35: Hoare triple {24494#true} assume !false; {24494#true} is VALID [2022-04-15 07:26:22,160 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-15 07:26:22,160 INFO L290 TraceCheckUtils]: 33: Hoare triple {24494#true} assume !!(~a~0 != ~b~0); {24494#true} is VALID [2022-04-15 07:26:22,160 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {24494#true} {24494#true} #71#return; {24494#true} is VALID [2022-04-15 07:26:22,160 INFO L290 TraceCheckUtils]: 31: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:26:22,161 INFO L290 TraceCheckUtils]: 30: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:26:22,161 INFO L290 TraceCheckUtils]: 29: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:26:22,161 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-15 07:26:22,161 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {24494#true} {24494#true} #69#return; {24494#true} is VALID [2022-04-15 07:26:22,161 INFO L290 TraceCheckUtils]: 26: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:26:22,161 INFO L290 TraceCheckUtils]: 25: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:26:22,161 INFO L290 TraceCheckUtils]: 24: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:26:22,161 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-15 07:26:22,161 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {24494#true} {24494#true} #67#return; {24494#true} is VALID [2022-04-15 07:26:22,161 INFO L290 TraceCheckUtils]: 21: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:26:22,161 INFO L290 TraceCheckUtils]: 20: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:26:22,161 INFO L290 TraceCheckUtils]: 19: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:26:22,161 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-15 07:26:22,161 INFO L290 TraceCheckUtils]: 17: Hoare triple {24494#true} assume !false; {24494#true} is VALID [2022-04-15 07:26:22,161 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-15 07:26:22,161 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {24494#true} {24494#true} #65#return; {24494#true} is VALID [2022-04-15 07:26:22,161 INFO L290 TraceCheckUtils]: 14: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:26:22,161 INFO L290 TraceCheckUtils]: 13: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:26:22,162 INFO L290 TraceCheckUtils]: 12: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:26:22,162 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-15 07:26:22,162 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {24494#true} {24494#true} #63#return; {24494#true} is VALID [2022-04-15 07:26:22,162 INFO L290 TraceCheckUtils]: 9: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:26:22,162 INFO L290 TraceCheckUtils]: 8: Hoare triple {24494#true} assume !(0 == ~cond); {24494#true} is VALID [2022-04-15 07:26:22,162 INFO L290 TraceCheckUtils]: 7: Hoare triple {24494#true} ~cond := #in~cond; {24494#true} is VALID [2022-04-15 07:26:22,162 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-15 07:26:22,162 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-15 07:26:22,162 INFO L272 TraceCheckUtils]: 4: Hoare triple {24494#true} call #t~ret6 := main(); {24494#true} is VALID [2022-04-15 07:26:22,162 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {24494#true} {24494#true} #81#return; {24494#true} is VALID [2022-04-15 07:26:22,162 INFO L290 TraceCheckUtils]: 2: Hoare triple {24494#true} assume true; {24494#true} is VALID [2022-04-15 07:26:22,162 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-15 07:26:22,162 INFO L272 TraceCheckUtils]: 0: Hoare triple {24494#true} call ULTIMATE.init(); {24494#true} is VALID [2022-04-15 07:26:22,162 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-15 07:26:22,163 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:26:22,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2025989647] [2022-04-15 07:26:22,163 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:26:22,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [167842] [2022-04-15 07:26:22,163 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [167842] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:26:22,163 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:26:22,163 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 8] total 14 [2022-04-15 07:26:22,163 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:26:22,163 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [411883678] [2022-04-15 07:26:22,163 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [411883678] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:26:22,163 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:26:22,163 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-15 07:26:22,163 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1293733480] [2022-04-15 07:26:22,163 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:26:22,164 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-15 07:26:22,164 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:26:22,164 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-15 07:26:24,050 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:26:24,050 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-15 07:26:24,050 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:26:24,050 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-15 07:26:24,050 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=143, Unknown=3, NotChecked=0, Total=182 [2022-04-15 07:26:24,051 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-15 07:26:26,069 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.01s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:26:31,157 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.66s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:26:42,871 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:26:44,875 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:26:46,878 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:26:48,882 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:26:50,885 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:26:52,890 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:26:54,894 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:26:57,023 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:26:59,027 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:27:01,737 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:27:03,741 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:27:05,747 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.01s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:27:07,751 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:27:16,419 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.86s for a HTC check with result VALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:27:22,867 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 2.00s for a HTC check with result UNKNOWN. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:27:28,068 WARN L534 Checker$ProtectedHtc]: IncrementalHoareTripleChecker took 1.89s for a HTC check with result INVALID. Formula has sorts [Bool, Int], hasArrays=false, hasNonlinArith=true, quantifiers [] [2022-04-15 07:27:32,221 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:27:32,221 INFO L93 Difference]: Finished difference Result 298 states and 364 transitions. [2022-04-15 07:27:32,221 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-04-15 07:27:32,221 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-15 07:27:32,221 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:27:32,222 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-15 07:27:32,223 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 101 transitions. [2022-04-15 07:27:32,224 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-15 07:27:32,225 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 101 transitions. [2022-04-15 07:27:32,225 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 11 states and 101 transitions. [2022-04-15 07:27:39,988 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 99 inductive. 0 not inductive. 2 times theorem prover too weak to decide inductivity. [2022-04-15 07:27:39,992 INFO L225 Difference]: With dead ends: 298 [2022-04-15 07:27:39,992 INFO L226 Difference]: Without dead ends: 283 [2022-04-15 07:27:39,993 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 174 GetRequests, 157 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 12.7s TimeCoverageRelationStatistics Valid=55, Invalid=214, Unknown=3, NotChecked=0, Total=272 [2022-04-15 07:27:39,993 INFO L913 BasicCegarLoop]: 38 mSDtfsCounter, 22 mSDsluCounter, 123 mSDsCounter, 0 mSdLazyCounter, 401 mSolverCounterSat, 20 mSolverCounterUnsat, 14 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 40.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 161 SdHoareTripleChecker+Invalid, 435 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 401 IncrementalHoareTripleChecker+Invalid, 14 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 40.7s IncrementalHoareTripleChecker+Time [2022-04-15 07:27:39,993 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 161 Invalid, 435 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 401 Invalid, 14 Unknown, 0 Unchecked, 40.7s Time] [2022-04-15 07:27:39,994 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 283 states. [2022-04-15 07:27:40,329 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 283 to 283. [2022-04-15 07:27:40,329 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:27:40,330 INFO L82 GeneralOperation]: Start isEquivalent. First operand 283 states. Second operand has 283 states, 173 states have (on average 1.1329479768786128) internal successors, (196), 177 states have internal predecessors, (196), 73 states have call successors, (73), 37 states have call predecessors, (73), 36 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-15 07:27:40,330 INFO L74 IsIncluded]: Start isIncluded. First operand 283 states. Second operand has 283 states, 173 states have (on average 1.1329479768786128) internal successors, (196), 177 states have internal predecessors, (196), 73 states have call successors, (73), 37 states have call predecessors, (73), 36 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-15 07:27:40,330 INFO L87 Difference]: Start difference. First operand 283 states. Second operand has 283 states, 173 states have (on average 1.1329479768786128) internal successors, (196), 177 states have internal predecessors, (196), 73 states have call successors, (73), 37 states have call predecessors, (73), 36 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-15 07:27:40,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:27:40,335 INFO L93 Difference]: Finished difference Result 283 states and 340 transitions. [2022-04-15 07:27:40,335 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 340 transitions. [2022-04-15 07:27:40,335 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:27:40,335 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:27:40,336 INFO L74 IsIncluded]: Start isIncluded. First operand has 283 states, 173 states have (on average 1.1329479768786128) internal successors, (196), 177 states have internal predecessors, (196), 73 states have call successors, (73), 37 states have call predecessors, (73), 36 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) Second operand 283 states. [2022-04-15 07:27:40,336 INFO L87 Difference]: Start difference. First operand has 283 states, 173 states have (on average 1.1329479768786128) internal successors, (196), 177 states have internal predecessors, (196), 73 states have call successors, (73), 37 states have call predecessors, (73), 36 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) Second operand 283 states. [2022-04-15 07:27:40,340 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:27:40,340 INFO L93 Difference]: Finished difference Result 283 states and 340 transitions. [2022-04-15 07:27:40,340 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 340 transitions. [2022-04-15 07:27:40,340 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:27:40,340 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:27:40,341 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:27:40,341 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:27:40,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 283 states, 173 states have (on average 1.1329479768786128) internal successors, (196), 177 states have internal predecessors, (196), 73 states have call successors, (73), 37 states have call predecessors, (73), 36 states have return successors, (71), 68 states have call predecessors, (71), 71 states have call successors, (71) [2022-04-15 07:27:40,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 283 states to 283 states and 340 transitions. [2022-04-15 07:27:40,346 INFO L78 Accepts]: Start accepts. Automaton has 283 states and 340 transitions. Word has length 86 [2022-04-15 07:27:40,346 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:27:40,346 INFO L478 AbstractCegarLoop]: Abstraction has 283 states and 340 transitions. [2022-04-15 07:27:40,346 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-15 07:27:40,346 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 283 states and 340 transitions. [2022-04-15 07:27:45,727 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 340 edges. 339 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:27:45,727 INFO L276 IsEmpty]: Start isEmpty. Operand 283 states and 340 transitions. [2022-04-15 07:27:45,728 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-15 07:27:45,728 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:27:45,728 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-15 07:27:45,744 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-04-15 07:27:45,937 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-15 07:27:45,937 INFO L403 AbstractCegarLoop]: === Iteration 22 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:27:45,937 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:27:45,938 INFO L85 PathProgramCache]: Analyzing trace with hash 396850335, now seen corresponding path program 9 times [2022-04-15 07:27:45,938 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:27:45,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1282083356] [2022-04-15 07:27:45,938 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:27:45,938 INFO L85 PathProgramCache]: Analyzing trace with hash 396850335, now seen corresponding path program 10 times [2022-04-15 07:27:45,938 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:27:45,938 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [282060040] [2022-04-15 07:27:45,938 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:27:45,938 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:27:45,946 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:27:45,946 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [1177650896] [2022-04-15 07:27:45,946 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:27:45,946 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:27:45,946 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:27:45,947 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:27:45,948 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-04-15 07:27:45,995 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:27:45,995 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:27:45,996 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-15 07:27:46,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:27:46,013 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:27:49,573 INFO L272 TraceCheckUtils]: 0: Hoare triple {26757#true} call ULTIMATE.init(); {26757#true} is VALID [2022-04-15 07:27:49,573 INFO L290 TraceCheckUtils]: 1: Hoare triple {26757#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); {26757#true} is VALID [2022-04-15 07:27:49,574 INFO L290 TraceCheckUtils]: 2: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:27:49,574 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26757#true} {26757#true} #81#return; {26757#true} is VALID [2022-04-15 07:27:49,574 INFO L272 TraceCheckUtils]: 4: Hoare triple {26757#true} call #t~ret6 := main(); {26757#true} is VALID [2022-04-15 07:27:49,574 INFO L290 TraceCheckUtils]: 5: Hoare triple {26757#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; {26757#true} is VALID [2022-04-15 07:27:49,574 INFO L272 TraceCheckUtils]: 6: Hoare triple {26757#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {26757#true} is VALID [2022-04-15 07:27:49,574 INFO L290 TraceCheckUtils]: 7: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:27:49,574 INFO L290 TraceCheckUtils]: 8: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:27:49,574 INFO L290 TraceCheckUtils]: 9: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:27:49,574 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26757#true} {26757#true} #63#return; {26757#true} is VALID [2022-04-15 07:27:49,574 INFO L272 TraceCheckUtils]: 11: Hoare triple {26757#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {26757#true} is VALID [2022-04-15 07:27:49,574 INFO L290 TraceCheckUtils]: 12: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:27:49,574 INFO L290 TraceCheckUtils]: 13: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:27:49,574 INFO L290 TraceCheckUtils]: 14: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:27:49,574 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {26757#true} {26757#true} #65#return; {26757#true} is VALID [2022-04-15 07:27:49,575 INFO L290 TraceCheckUtils]: 16: Hoare triple {26757#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {26810#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 07:27:49,575 INFO L290 TraceCheckUtils]: 17: Hoare triple {26810#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} assume !false; {26810#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 07:27:49,575 INFO L272 TraceCheckUtils]: 18: Hoare triple {26810#(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)); {26757#true} is VALID [2022-04-15 07:27:49,575 INFO L290 TraceCheckUtils]: 19: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:27:49,575 INFO L290 TraceCheckUtils]: 20: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:27:49,575 INFO L290 TraceCheckUtils]: 21: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:27:49,576 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {26757#true} {26810#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #67#return; {26810#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} is VALID [2022-04-15 07:27:49,576 INFO L272 TraceCheckUtils]: 23: Hoare triple {26810#(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)); {26757#true} is VALID [2022-04-15 07:27:49,576 INFO L290 TraceCheckUtils]: 24: Hoare triple {26757#true} ~cond := #in~cond; {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:27:49,576 INFO L290 TraceCheckUtils]: 25: Hoare triple {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:27:49,577 INFO L290 TraceCheckUtils]: 26: Hoare triple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:27:49,577 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} {26810#(and (= main_~r~0 0) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~p~0 1))} #69#return; {26846#(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-15 07:27:49,577 INFO L272 TraceCheckUtils]: 28: Hoare triple {26846#(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)); {26757#true} is VALID [2022-04-15 07:27:49,577 INFO L290 TraceCheckUtils]: 29: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:27:49,578 INFO L290 TraceCheckUtils]: 30: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:27:49,578 INFO L290 TraceCheckUtils]: 31: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:27:49,578 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {26757#true} {26846#(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; {26846#(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-15 07:27:49,578 INFO L290 TraceCheckUtils]: 33: Hoare triple {26846#(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); {26846#(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-15 07:27:49,581 INFO L290 TraceCheckUtils]: 34: Hoare triple {26846#(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; {26868#(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-15 07:27:49,581 INFO L290 TraceCheckUtils]: 35: Hoare triple {26868#(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; {26868#(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-15 07:27:49,581 INFO L272 TraceCheckUtils]: 36: Hoare triple {26868#(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)); {26757#true} is VALID [2022-04-15 07:27:49,581 INFO L290 TraceCheckUtils]: 37: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:27:49,581 INFO L290 TraceCheckUtils]: 38: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:27:49,581 INFO L290 TraceCheckUtils]: 39: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:27:49,582 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {26757#true} {26868#(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; {26868#(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-15 07:27:49,582 INFO L272 TraceCheckUtils]: 41: Hoare triple {26868#(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)); {26757#true} is VALID [2022-04-15 07:27:49,582 INFO L290 TraceCheckUtils]: 42: Hoare triple {26757#true} ~cond := #in~cond; {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:27:49,583 INFO L290 TraceCheckUtils]: 43: Hoare triple {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:27:49,583 INFO L290 TraceCheckUtils]: 44: Hoare triple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:27:49,584 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} {26868#(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; {26902#(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-15 07:27:49,584 INFO L272 TraceCheckUtils]: 46: Hoare triple {26902#(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)); {26757#true} is VALID [2022-04-15 07:27:49,584 INFO L290 TraceCheckUtils]: 47: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:27:49,584 INFO L290 TraceCheckUtils]: 48: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:27:49,584 INFO L290 TraceCheckUtils]: 49: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:27:49,584 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {26757#true} {26902#(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; {26902#(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-15 07:27:49,585 INFO L290 TraceCheckUtils]: 51: Hoare triple {26902#(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); {26902#(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-15 07:27:49,588 INFO L290 TraceCheckUtils]: 52: Hoare triple {26902#(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; {26924#(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-15 07:27:49,589 INFO L290 TraceCheckUtils]: 53: Hoare triple {26924#(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; {26924#(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-15 07:27:49,589 INFO L272 TraceCheckUtils]: 54: Hoare triple {26924#(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)); {26757#true} is VALID [2022-04-15 07:27:49,589 INFO L290 TraceCheckUtils]: 55: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:27:49,589 INFO L290 TraceCheckUtils]: 56: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:27:49,589 INFO L290 TraceCheckUtils]: 57: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:27:49,589 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {26757#true} {26924#(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; {26924#(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-15 07:27:49,589 INFO L272 TraceCheckUtils]: 59: Hoare triple {26924#(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)); {26757#true} is VALID [2022-04-15 07:27:49,590 INFO L290 TraceCheckUtils]: 60: Hoare triple {26757#true} ~cond := #in~cond; {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:27:49,590 INFO L290 TraceCheckUtils]: 61: Hoare triple {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:27:49,590 INFO L290 TraceCheckUtils]: 62: Hoare triple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:27:49,591 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} {26924#(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; {26924#(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-15 07:27:49,591 INFO L272 TraceCheckUtils]: 64: Hoare triple {26924#(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)); {26757#true} is VALID [2022-04-15 07:27:49,591 INFO L290 TraceCheckUtils]: 65: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:27:49,591 INFO L290 TraceCheckUtils]: 66: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:27:49,591 INFO L290 TraceCheckUtils]: 67: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:27:49,592 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {26757#true} {26924#(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; {26924#(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-15 07:27:49,592 INFO L290 TraceCheckUtils]: 69: Hoare triple {26924#(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); {26924#(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-15 07:27:49,593 INFO L290 TraceCheckUtils]: 70: Hoare triple {26924#(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; {26979#(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-15 07:27:49,593 INFO L290 TraceCheckUtils]: 71: Hoare triple {26979#(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; {26979#(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-15 07:27:49,594 INFO L272 TraceCheckUtils]: 72: Hoare triple {26979#(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)); {26757#true} is VALID [2022-04-15 07:27:49,594 INFO L290 TraceCheckUtils]: 73: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:27:49,594 INFO L290 TraceCheckUtils]: 74: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:27:49,594 INFO L290 TraceCheckUtils]: 75: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:27:49,594 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {26757#true} {26979#(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; {26979#(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-15 07:27:49,594 INFO L272 TraceCheckUtils]: 77: Hoare triple {26979#(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)); {26757#true} is VALID [2022-04-15 07:27:49,595 INFO L290 TraceCheckUtils]: 78: Hoare triple {26757#true} ~cond := #in~cond; {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:27:49,595 INFO L290 TraceCheckUtils]: 79: Hoare triple {26835#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:27:49,595 INFO L290 TraceCheckUtils]: 80: Hoare triple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:27:49,596 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} {26979#(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; {26979#(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-15 07:27:49,596 INFO L272 TraceCheckUtils]: 82: Hoare triple {26979#(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)); {26757#true} is VALID [2022-04-15 07:27:49,596 INFO L290 TraceCheckUtils]: 83: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:27:49,596 INFO L290 TraceCheckUtils]: 84: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:27:49,596 INFO L290 TraceCheckUtils]: 85: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:27:49,596 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26757#true} {26979#(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; {26979#(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-15 07:27:49,597 INFO L290 TraceCheckUtils]: 87: Hoare triple {26979#(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); {26979#(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-15 07:27:49,601 INFO L290 TraceCheckUtils]: 88: Hoare triple {26979#(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; {27034#(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-15 07:27:49,601 INFO L290 TraceCheckUtils]: 89: Hoare triple {27034#(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; {27034#(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-15 07:27:49,601 INFO L272 TraceCheckUtils]: 90: Hoare triple {27034#(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)); {26757#true} is VALID [2022-04-15 07:27:49,601 INFO L290 TraceCheckUtils]: 91: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:27:49,601 INFO L290 TraceCheckUtils]: 92: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:27:49,601 INFO L290 TraceCheckUtils]: 93: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:27:49,602 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {26757#true} {27034#(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; {27034#(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-15 07:27:49,606 INFO L272 TraceCheckUtils]: 95: Hoare triple {27034#(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)); {27056#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:27:49,606 INFO L290 TraceCheckUtils]: 96: Hoare triple {27056#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27060#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:27:49,606 INFO L290 TraceCheckUtils]: 97: Hoare triple {27060#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {26758#false} is VALID [2022-04-15 07:27:49,606 INFO L290 TraceCheckUtils]: 98: Hoare triple {26758#false} assume !false; {26758#false} is VALID [2022-04-15 07:27:49,607 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-15 07:27:49,607 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:28:58,455 INFO L290 TraceCheckUtils]: 98: Hoare triple {26758#false} assume !false; {26758#false} is VALID [2022-04-15 07:28:58,455 INFO L290 TraceCheckUtils]: 97: Hoare triple {27060#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {26758#false} is VALID [2022-04-15 07:28:58,455 INFO L290 TraceCheckUtils]: 96: Hoare triple {27056#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {27060#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:28:58,456 INFO L272 TraceCheckUtils]: 95: Hoare triple {27076#(= 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)); {27056#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:28:58,456 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {26757#true} {27076#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {27076#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 07:28:58,457 INFO L290 TraceCheckUtils]: 93: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:28:58,457 INFO L290 TraceCheckUtils]: 92: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:28:58,457 INFO L290 TraceCheckUtils]: 91: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:28:58,457 INFO L272 TraceCheckUtils]: 90: Hoare triple {27076#(= 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)); {26757#true} is VALID [2022-04-15 07:28:58,457 INFO L290 TraceCheckUtils]: 89: Hoare triple {27076#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {27076#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 07:28:59,222 INFO L290 TraceCheckUtils]: 88: Hoare triple {27098#(= (+ main_~a~0 (* (- 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; {27076#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 07:28:59,223 INFO L290 TraceCheckUtils]: 87: Hoare triple {27098#(= (+ main_~a~0 (* (- 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); {27098#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 07:28:59,223 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {26757#true} {27098#(= (+ main_~a~0 (* (- 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; {27098#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 07:28:59,223 INFO L290 TraceCheckUtils]: 85: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:28:59,223 INFO L290 TraceCheckUtils]: 84: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:28:59,223 INFO L290 TraceCheckUtils]: 83: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:28:59,223 INFO L272 TraceCheckUtils]: 82: Hoare triple {27098#(= (+ main_~a~0 (* (- 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)); {26757#true} is VALID [2022-04-15 07:28:59,224 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} {27120#(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; {27098#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 07:28:59,224 INFO L290 TraceCheckUtils]: 80: Hoare triple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:28:59,225 INFO L290 TraceCheckUtils]: 79: Hoare triple {27130#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:28:59,225 INFO L290 TraceCheckUtils]: 78: Hoare triple {26757#true} ~cond := #in~cond; {27130#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:28:59,225 INFO L272 TraceCheckUtils]: 77: Hoare triple {27120#(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)); {26757#true} is VALID [2022-04-15 07:28:59,226 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {26757#true} {27120#(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; {27120#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 07:28:59,226 INFO L290 TraceCheckUtils]: 75: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:28:59,226 INFO L290 TraceCheckUtils]: 74: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:28:59,226 INFO L290 TraceCheckUtils]: 73: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:28:59,226 INFO L272 TraceCheckUtils]: 72: Hoare triple {27120#(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)); {26757#true} is VALID [2022-04-15 07:28:59,226 INFO L290 TraceCheckUtils]: 71: Hoare triple {27120#(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; {27120#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 07:28:59,278 INFO L290 TraceCheckUtils]: 70: Hoare triple {27155#(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; {27120#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))))} is VALID [2022-04-15 07:28:59,278 INFO L290 TraceCheckUtils]: 69: Hoare triple {27155#(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); {27155#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 07:28:59,279 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {26757#true} {27155#(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; {27155#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 07:28:59,279 INFO L290 TraceCheckUtils]: 67: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:28:59,279 INFO L290 TraceCheckUtils]: 66: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:28:59,279 INFO L290 TraceCheckUtils]: 65: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:28:59,279 INFO L272 TraceCheckUtils]: 64: Hoare triple {27155#(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)); {26757#true} is VALID [2022-04-15 07:28:59,281 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} {26757#true} #69#return; {27155#(or (= (+ (* main_~x~0 (+ main_~p~0 (* (- 2) main_~q~0))) (* (+ (* (- 2) main_~s~0) main_~r~0) main_~y~0)) (+ (* (- 2) main_~b~0) main_~a~0)) (not (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))))} is VALID [2022-04-15 07:28:59,281 INFO L290 TraceCheckUtils]: 62: Hoare triple {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:28:59,282 INFO L290 TraceCheckUtils]: 61: Hoare triple {27130#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {26839#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:28:59,282 INFO L290 TraceCheckUtils]: 60: Hoare triple {26757#true} ~cond := #in~cond; {27130#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:28:59,282 INFO L272 TraceCheckUtils]: 59: Hoare triple {26757#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26757#true} is VALID [2022-04-15 07:28:59,282 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {26757#true} {26757#true} #67#return; {26757#true} is VALID [2022-04-15 07:28:59,282 INFO L290 TraceCheckUtils]: 57: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:28:59,282 INFO L290 TraceCheckUtils]: 56: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:28:59,282 INFO L290 TraceCheckUtils]: 55: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:28:59,282 INFO L272 TraceCheckUtils]: 54: Hoare triple {26757#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26757#true} is VALID [2022-04-15 07:28:59,282 INFO L290 TraceCheckUtils]: 53: Hoare triple {26757#true} assume !false; {26757#true} is VALID [2022-04-15 07:28:59,282 INFO L290 TraceCheckUtils]: 52: Hoare triple {26757#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {26757#true} is VALID [2022-04-15 07:28:59,282 INFO L290 TraceCheckUtils]: 51: Hoare triple {26757#true} assume !!(~a~0 != ~b~0); {26757#true} is VALID [2022-04-15 07:28:59,282 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {26757#true} {26757#true} #71#return; {26757#true} is VALID [2022-04-15 07:28:59,282 INFO L290 TraceCheckUtils]: 49: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:28:59,282 INFO L290 TraceCheckUtils]: 48: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L290 TraceCheckUtils]: 47: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L272 TraceCheckUtils]: 46: Hoare triple {26757#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {26757#true} {26757#true} #69#return; {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L290 TraceCheckUtils]: 44: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L290 TraceCheckUtils]: 43: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L290 TraceCheckUtils]: 42: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L272 TraceCheckUtils]: 41: Hoare triple {26757#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {26757#true} {26757#true} #67#return; {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L290 TraceCheckUtils]: 39: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L290 TraceCheckUtils]: 38: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L290 TraceCheckUtils]: 37: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L272 TraceCheckUtils]: 36: Hoare triple {26757#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L290 TraceCheckUtils]: 35: Hoare triple {26757#true} assume !false; {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L290 TraceCheckUtils]: 34: Hoare triple {26757#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L290 TraceCheckUtils]: 33: Hoare triple {26757#true} assume !!(~a~0 != ~b~0); {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {26757#true} {26757#true} #71#return; {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L290 TraceCheckUtils]: 31: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L290 TraceCheckUtils]: 30: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:28:59,283 INFO L290 TraceCheckUtils]: 29: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L272 TraceCheckUtils]: 28: Hoare triple {26757#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {26757#true} {26757#true} #69#return; {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L290 TraceCheckUtils]: 26: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L290 TraceCheckUtils]: 25: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L290 TraceCheckUtils]: 24: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L272 TraceCheckUtils]: 23: Hoare triple {26757#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {26757#true} {26757#true} #67#return; {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L290 TraceCheckUtils]: 21: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L290 TraceCheckUtils]: 20: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L290 TraceCheckUtils]: 19: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L272 TraceCheckUtils]: 18: Hoare triple {26757#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L290 TraceCheckUtils]: 17: Hoare triple {26757#true} assume !false; {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L290 TraceCheckUtils]: 16: Hoare triple {26757#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {26757#true} {26757#true} #65#return; {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L290 TraceCheckUtils]: 14: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L290 TraceCheckUtils]: 13: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L290 TraceCheckUtils]: 12: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L272 TraceCheckUtils]: 11: Hoare triple {26757#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {26757#true} is VALID [2022-04-15 07:28:59,284 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {26757#true} {26757#true} #63#return; {26757#true} is VALID [2022-04-15 07:28:59,285 INFO L290 TraceCheckUtils]: 9: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:28:59,285 INFO L290 TraceCheckUtils]: 8: Hoare triple {26757#true} assume !(0 == ~cond); {26757#true} is VALID [2022-04-15 07:28:59,285 INFO L290 TraceCheckUtils]: 7: Hoare triple {26757#true} ~cond := #in~cond; {26757#true} is VALID [2022-04-15 07:28:59,285 INFO L272 TraceCheckUtils]: 6: Hoare triple {26757#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {26757#true} is VALID [2022-04-15 07:28:59,285 INFO L290 TraceCheckUtils]: 5: Hoare triple {26757#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; {26757#true} is VALID [2022-04-15 07:28:59,285 INFO L272 TraceCheckUtils]: 4: Hoare triple {26757#true} call #t~ret6 := main(); {26757#true} is VALID [2022-04-15 07:28:59,285 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {26757#true} {26757#true} #81#return; {26757#true} is VALID [2022-04-15 07:28:59,285 INFO L290 TraceCheckUtils]: 2: Hoare triple {26757#true} assume true; {26757#true} is VALID [2022-04-15 07:28:59,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {26757#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); {26757#true} is VALID [2022-04-15 07:28:59,285 INFO L272 TraceCheckUtils]: 0: Hoare triple {26757#true} call ULTIMATE.init(); {26757#true} is VALID [2022-04-15 07:28:59,285 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-15 07:28:59,285 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:28:59,286 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [282060040] [2022-04-15 07:28:59,286 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:28:59,286 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1177650896] [2022-04-15 07:28:59,286 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1177650896] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:28:59,286 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:28:59,286 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10] total 18 [2022-04-15 07:28:59,286 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:28:59,286 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1282083356] [2022-04-15 07:28:59,286 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1282083356] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:28:59,286 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:28:59,286 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-15 07:28:59,286 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1845737553] [2022-04-15 07:28:59,286 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:28:59,287 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-15 07:28:59,287 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:28:59,287 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-15 07:28:59,363 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:28:59,363 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-15 07:28:59,363 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:28:59,363 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-15 07:28:59,363 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=59, Invalid=247, Unknown=0, NotChecked=0, Total=306 [2022-04-15 07:28:59,363 INFO L87 Difference]: Start difference. First operand 283 states and 340 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-15 07:29:03,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:03,986 INFO L93 Difference]: Finished difference Result 313 states and 379 transitions. [2022-04-15 07:29:03,986 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 07:29:03,986 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-15 07:29:03,987 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:29:03,987 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-15 07:29:03,988 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-15 07:29:03,988 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-15 07:29:03,989 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-15 07:29:03,989 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 100 transitions. [2022-04-15 07:29:04,135 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:29:04,141 INFO L225 Difference]: With dead ends: 313 [2022-04-15 07:29:04,141 INFO L226 Difference]: Without dead ends: 311 [2022-04-15 07:29:04,141 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-15 07:29:04,141 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 15 mSDsluCounter, 217 mSDsCounter, 0 mSdLazyCounter, 750 mSolverCounterSat, 14 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 21 SdHoareTripleChecker+Valid, 264 SdHoareTripleChecker+Invalid, 764 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 14 IncrementalHoareTripleChecker+Valid, 750 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.3s IncrementalHoareTripleChecker+Time [2022-04-15 07:29:04,141 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [21 Valid, 264 Invalid, 764 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [14 Valid, 750 Invalid, 0 Unknown, 0 Unchecked, 2.3s Time] [2022-04-15 07:29:04,142 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 311 states. [2022-04-15 07:29:04,523 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 311 to 307. [2022-04-15 07:29:04,523 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:29:04,524 INFO L82 GeneralOperation]: Start isEquivalent. First operand 311 states. Second operand has 307 states, 188 states have (on average 1.1382978723404256) internal successors, (214), 192 states have internal predecessors, (214), 79 states have call successors, (79), 40 states have call predecessors, (79), 39 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 07:29:04,524 INFO L74 IsIncluded]: Start isIncluded. First operand 311 states. Second operand has 307 states, 188 states have (on average 1.1382978723404256) internal successors, (214), 192 states have internal predecessors, (214), 79 states have call successors, (79), 40 states have call predecessors, (79), 39 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 07:29:04,524 INFO L87 Difference]: Start difference. First operand 311 states. Second operand has 307 states, 188 states have (on average 1.1382978723404256) internal successors, (214), 192 states have internal predecessors, (214), 79 states have call successors, (79), 40 states have call predecessors, (79), 39 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 07:29:04,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:04,530 INFO L93 Difference]: Finished difference Result 311 states and 377 transitions. [2022-04-15 07:29:04,530 INFO L276 IsEmpty]: Start isEmpty. Operand 311 states and 377 transitions. [2022-04-15 07:29:04,530 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:04,530 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:04,531 INFO L74 IsIncluded]: Start isIncluded. First operand has 307 states, 188 states have (on average 1.1382978723404256) internal successors, (214), 192 states have internal predecessors, (214), 79 states have call successors, (79), 40 states have call predecessors, (79), 39 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) Second operand 311 states. [2022-04-15 07:29:04,531 INFO L87 Difference]: Start difference. First operand has 307 states, 188 states have (on average 1.1382978723404256) internal successors, (214), 192 states have internal predecessors, (214), 79 states have call successors, (79), 40 states have call predecessors, (79), 39 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) Second operand 311 states. [2022-04-15 07:29:04,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:04,536 INFO L93 Difference]: Finished difference Result 311 states and 377 transitions. [2022-04-15 07:29:04,536 INFO L276 IsEmpty]: Start isEmpty. Operand 311 states and 377 transitions. [2022-04-15 07:29:04,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:04,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:04,536 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:29:04,536 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:29:04,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 307 states, 188 states have (on average 1.1382978723404256) internal successors, (214), 192 states have internal predecessors, (214), 79 states have call successors, (79), 40 states have call predecessors, (79), 39 states have return successors, (77), 74 states have call predecessors, (77), 77 states have call successors, (77) [2022-04-15 07:29:04,542 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 307 states to 307 states and 370 transitions. [2022-04-15 07:29:04,542 INFO L78 Accepts]: Start accepts. Automaton has 307 states and 370 transitions. Word has length 99 [2022-04-15 07:29:04,542 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:29:04,543 INFO L478 AbstractCegarLoop]: Abstraction has 307 states and 370 transitions. [2022-04-15 07:29:04,543 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-15 07:29:04,543 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 307 states and 370 transitions. [2022-04-15 07:29:10,194 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 370 edges. 369 inductive. 0 not inductive. 1 times theorem prover too weak to decide inductivity. [2022-04-15 07:29:10,194 INFO L276 IsEmpty]: Start isEmpty. Operand 307 states and 370 transitions. [2022-04-15 07:29:10,195 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-15 07:29:10,195 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:29:10,195 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-15 07:29:10,211 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-04-15 07:29:10,395 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-15 07:29:10,395 INFO L403 AbstractCegarLoop]: === Iteration 23 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:29:10,396 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:29:10,396 INFO L85 PathProgramCache]: Analyzing trace with hash 1783053729, now seen corresponding path program 19 times [2022-04-15 07:29:10,396 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:10,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [631257191] [2022-04-15 07:29:10,396 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:29:10,396 INFO L85 PathProgramCache]: Analyzing trace with hash 1783053729, now seen corresponding path program 20 times [2022-04-15 07:29:10,396 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:29:10,396 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1192022912] [2022-04-15 07:29:10,396 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:29:10,397 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:29:10,404 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:29:10,404 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [18489239] [2022-04-15 07:29:10,404 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-15 07:29:10,404 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:29:10,404 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:29:10,405 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:29:10,406 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-04-15 07:29:10,454 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-15 07:29:10,455 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:29:10,456 INFO L263 TraceCheckSpWp]: Trace formula consists of 240 conjuncts, 43 conjunts are in the unsatisfiable core [2022-04-15 07:29:10,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:29:10,479 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:29:11,647 INFO L272 TraceCheckUtils]: 0: Hoare triple {29234#true} call ULTIMATE.init(); {29234#true} is VALID [2022-04-15 07:29:11,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {29234#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); {29234#true} is VALID [2022-04-15 07:29:11,648 INFO L290 TraceCheckUtils]: 2: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,648 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29234#true} {29234#true} #81#return; {29234#true} is VALID [2022-04-15 07:29:11,648 INFO L272 TraceCheckUtils]: 4: Hoare triple {29234#true} call #t~ret6 := main(); {29234#true} is VALID [2022-04-15 07:29:11,648 INFO L290 TraceCheckUtils]: 5: Hoare triple {29234#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; {29234#true} is VALID [2022-04-15 07:29:11,648 INFO L272 TraceCheckUtils]: 6: Hoare triple {29234#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29234#true} is VALID [2022-04-15 07:29:11,648 INFO L290 TraceCheckUtils]: 7: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:11,648 INFO L290 TraceCheckUtils]: 8: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:11,648 INFO L290 TraceCheckUtils]: 9: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,648 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29234#true} {29234#true} #63#return; {29234#true} is VALID [2022-04-15 07:29:11,648 INFO L272 TraceCheckUtils]: 11: Hoare triple {29234#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29234#true} is VALID [2022-04-15 07:29:11,648 INFO L290 TraceCheckUtils]: 12: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:11,648 INFO L290 TraceCheckUtils]: 13: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:11,648 INFO L290 TraceCheckUtils]: 14: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,648 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29234#true} {29234#true} #65#return; {29234#true} is VALID [2022-04-15 07:29:11,649 INFO L290 TraceCheckUtils]: 16: Hoare triple {29234#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29287#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 07:29:11,649 INFO L290 TraceCheckUtils]: 17: Hoare triple {29287#(and (= main_~r~0 0) (= 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; {29287#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 07:29:11,649 INFO L272 TraceCheckUtils]: 18: Hoare triple {29287#(and (= main_~r~0 0) (= 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)); {29234#true} is VALID [2022-04-15 07:29:11,649 INFO L290 TraceCheckUtils]: 19: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:11,649 INFO L290 TraceCheckUtils]: 20: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:11,649 INFO L290 TraceCheckUtils]: 21: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,650 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {29234#true} {29287#(and (= main_~r~0 0) (= 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; {29287#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 07:29:11,650 INFO L272 TraceCheckUtils]: 23: Hoare triple {29287#(and (= main_~r~0 0) (= 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)); {29234#true} is VALID [2022-04-15 07:29:11,650 INFO L290 TraceCheckUtils]: 24: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:11,650 INFO L290 TraceCheckUtils]: 25: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:11,650 INFO L290 TraceCheckUtils]: 26: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,651 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {29234#true} {29287#(and (= main_~r~0 0) (= 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; {29287#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 07:29:11,651 INFO L272 TraceCheckUtils]: 28: Hoare triple {29287#(and (= main_~r~0 0) (= 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)); {29234#true} is VALID [2022-04-15 07:29:11,651 INFO L290 TraceCheckUtils]: 29: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:11,651 INFO L290 TraceCheckUtils]: 30: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:11,651 INFO L290 TraceCheckUtils]: 31: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,651 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {29234#true} {29287#(and (= main_~r~0 0) (= 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; {29287#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 07:29:11,652 INFO L290 TraceCheckUtils]: 33: Hoare triple {29287#(and (= main_~r~0 0) (= 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); {29287#(and (= main_~r~0 0) (= main_~s~0 1) (= main_~b~0 main_~y~0) (= main_~q~0 0) (= main_~a~0 main_~x~0) (= main_~p~0 1))} is VALID [2022-04-15 07:29:11,652 INFO L290 TraceCheckUtils]: 34: Hoare triple {29287#(and (= main_~r~0 0) (= 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; {29342#(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-15 07:29:11,653 INFO L290 TraceCheckUtils]: 35: Hoare triple {29342#(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; {29342#(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-15 07:29:11,653 INFO L272 TraceCheckUtils]: 36: Hoare triple {29342#(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)); {29234#true} is VALID [2022-04-15 07:29:11,653 INFO L290 TraceCheckUtils]: 37: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:11,653 INFO L290 TraceCheckUtils]: 38: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:11,653 INFO L290 TraceCheckUtils]: 39: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,654 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {29234#true} {29342#(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; {29342#(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-15 07:29:11,654 INFO L272 TraceCheckUtils]: 41: Hoare triple {29342#(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)); {29234#true} is VALID [2022-04-15 07:29:11,654 INFO L290 TraceCheckUtils]: 42: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:11,654 INFO L290 TraceCheckUtils]: 43: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:11,654 INFO L290 TraceCheckUtils]: 44: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,654 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {29234#true} {29342#(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; {29342#(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-15 07:29:11,654 INFO L272 TraceCheckUtils]: 46: Hoare triple {29342#(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)); {29234#true} is VALID [2022-04-15 07:29:11,655 INFO L290 TraceCheckUtils]: 47: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:11,655 INFO L290 TraceCheckUtils]: 48: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:11,655 INFO L290 TraceCheckUtils]: 49: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,655 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {29234#true} {29342#(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; {29342#(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-15 07:29:11,656 INFO L290 TraceCheckUtils]: 51: Hoare triple {29342#(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); {29342#(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-15 07:29:11,657 INFO L290 TraceCheckUtils]: 52: Hoare triple {29342#(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; {29397#(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-15 07:29:11,658 INFO L290 TraceCheckUtils]: 53: Hoare triple {29397#(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; {29397#(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-15 07:29:11,658 INFO L272 TraceCheckUtils]: 54: Hoare triple {29397#(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)); {29234#true} is VALID [2022-04-15 07:29:11,658 INFO L290 TraceCheckUtils]: 55: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:11,658 INFO L290 TraceCheckUtils]: 56: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:11,658 INFO L290 TraceCheckUtils]: 57: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,659 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {29234#true} {29397#(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; {29397#(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-15 07:29:11,659 INFO L272 TraceCheckUtils]: 59: Hoare triple {29397#(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)); {29234#true} is VALID [2022-04-15 07:29:11,659 INFO L290 TraceCheckUtils]: 60: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:11,659 INFO L290 TraceCheckUtils]: 61: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:11,659 INFO L290 TraceCheckUtils]: 62: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,659 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {29234#true} {29397#(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; {29397#(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-15 07:29:11,659 INFO L272 TraceCheckUtils]: 64: Hoare triple {29397#(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)); {29234#true} is VALID [2022-04-15 07:29:11,659 INFO L290 TraceCheckUtils]: 65: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:11,660 INFO L290 TraceCheckUtils]: 66: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:11,660 INFO L290 TraceCheckUtils]: 67: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,672 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {29234#true} {29397#(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; {29397#(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-15 07:29:11,672 INFO L290 TraceCheckUtils]: 69: Hoare triple {29397#(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); {29449#(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-15 07:29:11,673 INFO L290 TraceCheckUtils]: 70: Hoare triple {29449#(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; {29453#(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-15 07:29:11,673 INFO L290 TraceCheckUtils]: 71: Hoare triple {29453#(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; {29453#(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-15 07:29:11,674 INFO L272 TraceCheckUtils]: 72: Hoare triple {29453#(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)); {29234#true} is VALID [2022-04-15 07:29:11,674 INFO L290 TraceCheckUtils]: 73: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:11,674 INFO L290 TraceCheckUtils]: 74: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:11,674 INFO L290 TraceCheckUtils]: 75: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,674 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {29234#true} {29453#(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; {29453#(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-15 07:29:11,674 INFO L272 TraceCheckUtils]: 77: Hoare triple {29453#(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)); {29234#true} is VALID [2022-04-15 07:29:11,674 INFO L290 TraceCheckUtils]: 78: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:11,674 INFO L290 TraceCheckUtils]: 79: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:11,675 INFO L290 TraceCheckUtils]: 80: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,675 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {29234#true} {29453#(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; {29453#(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-15 07:29:11,675 INFO L272 TraceCheckUtils]: 82: Hoare triple {29453#(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)); {29234#true} is VALID [2022-04-15 07:29:11,675 INFO L290 TraceCheckUtils]: 83: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:11,675 INFO L290 TraceCheckUtils]: 84: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:11,675 INFO L290 TraceCheckUtils]: 85: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,676 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {29234#true} {29453#(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; {29453#(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-15 07:29:11,676 INFO L290 TraceCheckUtils]: 87: Hoare triple {29453#(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); {29453#(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-15 07:29:11,678 INFO L290 TraceCheckUtils]: 88: Hoare triple {29453#(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; {29508#(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-15 07:29:11,679 INFO L290 TraceCheckUtils]: 89: Hoare triple {29508#(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; {29508#(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-15 07:29:11,679 INFO L272 TraceCheckUtils]: 90: Hoare triple {29508#(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)); {29234#true} is VALID [2022-04-15 07:29:11,679 INFO L290 TraceCheckUtils]: 91: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:11,679 INFO L290 TraceCheckUtils]: 92: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:11,679 INFO L290 TraceCheckUtils]: 93: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:11,679 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29234#true} {29508#(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; {29508#(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-15 07:29:11,680 INFO L272 TraceCheckUtils]: 95: Hoare triple {29508#(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)); {29530#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:29:11,680 INFO L290 TraceCheckUtils]: 96: Hoare triple {29530#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29534#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:11,681 INFO L290 TraceCheckUtils]: 97: Hoare triple {29534#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29235#false} is VALID [2022-04-15 07:29:11,681 INFO L290 TraceCheckUtils]: 98: Hoare triple {29235#false} assume !false; {29235#false} is VALID [2022-04-15 07:29:11,681 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-15 07:29:11,681 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:29:12,527 INFO L290 TraceCheckUtils]: 98: Hoare triple {29235#false} assume !false; {29235#false} is VALID [2022-04-15 07:29:12,528 INFO L290 TraceCheckUtils]: 97: Hoare triple {29534#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {29235#false} is VALID [2022-04-15 07:29:12,528 INFO L290 TraceCheckUtils]: 96: Hoare triple {29530#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {29534#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:12,529 INFO L272 TraceCheckUtils]: 95: Hoare triple {29550#(= 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)); {29530#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:29:12,529 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {29234#true} {29550#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {29550#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 07:29:12,529 INFO L290 TraceCheckUtils]: 93: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:12,529 INFO L290 TraceCheckUtils]: 92: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:12,529 INFO L290 TraceCheckUtils]: 91: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:12,529 INFO L272 TraceCheckUtils]: 90: Hoare triple {29550#(= 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)); {29234#true} is VALID [2022-04-15 07:29:12,530 INFO L290 TraceCheckUtils]: 89: Hoare triple {29550#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {29550#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 07:29:12,774 INFO L290 TraceCheckUtils]: 88: Hoare triple {29572#(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; {29550#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 07:29:12,774 INFO L290 TraceCheckUtils]: 87: Hoare triple {29572#(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); {29572#(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-15 07:29:12,775 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {29234#true} {29572#(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; {29572#(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-15 07:29:12,775 INFO L290 TraceCheckUtils]: 85: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:12,775 INFO L290 TraceCheckUtils]: 84: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:12,775 INFO L290 TraceCheckUtils]: 83: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:12,775 INFO L272 TraceCheckUtils]: 82: Hoare triple {29572#(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)); {29234#true} is VALID [2022-04-15 07:29:12,776 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {29234#true} {29572#(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; {29572#(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-15 07:29:12,776 INFO L290 TraceCheckUtils]: 80: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:12,776 INFO L290 TraceCheckUtils]: 79: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:12,776 INFO L290 TraceCheckUtils]: 78: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:12,776 INFO L272 TraceCheckUtils]: 77: Hoare triple {29572#(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)); {29234#true} is VALID [2022-04-15 07:29:12,777 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {29234#true} {29572#(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; {29572#(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-15 07:29:12,777 INFO L290 TraceCheckUtils]: 75: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:12,777 INFO L290 TraceCheckUtils]: 74: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:12,777 INFO L290 TraceCheckUtils]: 73: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:12,777 INFO L272 TraceCheckUtils]: 72: Hoare triple {29572#(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)); {29234#true} is VALID [2022-04-15 07:29:12,777 INFO L290 TraceCheckUtils]: 71: Hoare triple {29572#(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; {29572#(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-15 07:29:13,988 INFO L290 TraceCheckUtils]: 70: Hoare triple {29627#(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; {29572#(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-15 07:29:13,989 INFO L290 TraceCheckUtils]: 69: Hoare triple {29631#(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); {29627#(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-15 07:29:13,990 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {29234#true} {29631#(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; {29631#(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-15 07:29:13,990 INFO L290 TraceCheckUtils]: 67: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:13,990 INFO L290 TraceCheckUtils]: 66: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:13,990 INFO L290 TraceCheckUtils]: 65: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:13,990 INFO L272 TraceCheckUtils]: 64: Hoare triple {29631#(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)); {29234#true} is VALID [2022-04-15 07:29:14,000 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {29234#true} {29631#(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; {29631#(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-15 07:29:14,000 INFO L290 TraceCheckUtils]: 62: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:14,000 INFO L290 TraceCheckUtils]: 61: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:14,000 INFO L290 TraceCheckUtils]: 60: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:14,000 INFO L272 TraceCheckUtils]: 59: Hoare triple {29631#(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)); {29234#true} is VALID [2022-04-15 07:29:14,000 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {29234#true} {29631#(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; {29631#(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-15 07:29:14,001 INFO L290 TraceCheckUtils]: 57: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:14,001 INFO L290 TraceCheckUtils]: 56: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:14,001 INFO L290 TraceCheckUtils]: 55: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:14,001 INFO L272 TraceCheckUtils]: 54: Hoare triple {29631#(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)); {29234#true} is VALID [2022-04-15 07:29:14,001 INFO L290 TraceCheckUtils]: 53: Hoare triple {29631#(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; {29631#(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-15 07:29:14,803 INFO L290 TraceCheckUtils]: 52: Hoare triple {29683#(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; {29631#(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-15 07:29:14,804 INFO L290 TraceCheckUtils]: 51: Hoare triple {29683#(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); {29683#(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-15 07:29:14,804 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {29234#true} {29683#(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; {29683#(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-15 07:29:14,805 INFO L290 TraceCheckUtils]: 49: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:14,805 INFO L290 TraceCheckUtils]: 48: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:14,805 INFO L290 TraceCheckUtils]: 47: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:14,805 INFO L272 TraceCheckUtils]: 46: Hoare triple {29683#(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)); {29234#true} is VALID [2022-04-15 07:29:14,805 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {29234#true} {29683#(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; {29683#(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-15 07:29:14,805 INFO L290 TraceCheckUtils]: 44: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:14,805 INFO L290 TraceCheckUtils]: 43: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:14,805 INFO L290 TraceCheckUtils]: 42: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:14,806 INFO L272 TraceCheckUtils]: 41: Hoare triple {29683#(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)); {29234#true} is VALID [2022-04-15 07:29:14,806 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {29234#true} {29683#(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; {29683#(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-15 07:29:14,806 INFO L290 TraceCheckUtils]: 39: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:14,806 INFO L290 TraceCheckUtils]: 38: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:14,806 INFO L290 TraceCheckUtils]: 37: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:14,806 INFO L272 TraceCheckUtils]: 36: Hoare triple {29683#(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)); {29234#true} is VALID [2022-04-15 07:29:14,807 INFO L290 TraceCheckUtils]: 35: Hoare triple {29683#(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; {29683#(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-15 07:29:15,586 INFO L290 TraceCheckUtils]: 34: Hoare triple {29738#(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; {29683#(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-15 07:29:15,587 INFO L290 TraceCheckUtils]: 33: Hoare triple {29738#(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); {29738#(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-15 07:29:15,588 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {29234#true} {29738#(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; {29738#(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-15 07:29:15,588 INFO L290 TraceCheckUtils]: 31: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:15,588 INFO L290 TraceCheckUtils]: 30: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:15,588 INFO L290 TraceCheckUtils]: 29: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:15,588 INFO L272 TraceCheckUtils]: 28: Hoare triple {29738#(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)); {29234#true} is VALID [2022-04-15 07:29:15,588 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {29234#true} {29738#(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; {29738#(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-15 07:29:15,589 INFO L290 TraceCheckUtils]: 26: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:15,589 INFO L290 TraceCheckUtils]: 25: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:15,589 INFO L290 TraceCheckUtils]: 24: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:15,589 INFO L272 TraceCheckUtils]: 23: Hoare triple {29738#(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)); {29234#true} is VALID [2022-04-15 07:29:15,589 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {29234#true} {29738#(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; {29738#(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-15 07:29:15,589 INFO L290 TraceCheckUtils]: 21: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:15,589 INFO L290 TraceCheckUtils]: 20: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:15,590 INFO L290 TraceCheckUtils]: 19: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:15,590 INFO L272 TraceCheckUtils]: 18: Hoare triple {29738#(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)); {29234#true} is VALID [2022-04-15 07:29:15,590 INFO L290 TraceCheckUtils]: 17: Hoare triple {29738#(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; {29738#(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-15 07:29:15,591 INFO L290 TraceCheckUtils]: 16: Hoare triple {29234#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {29738#(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-15 07:29:15,591 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {29234#true} {29234#true} #65#return; {29234#true} is VALID [2022-04-15 07:29:15,591 INFO L290 TraceCheckUtils]: 14: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:15,591 INFO L290 TraceCheckUtils]: 13: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:15,591 INFO L290 TraceCheckUtils]: 12: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:15,591 INFO L272 TraceCheckUtils]: 11: Hoare triple {29234#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {29234#true} is VALID [2022-04-15 07:29:15,591 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {29234#true} {29234#true} #63#return; {29234#true} is VALID [2022-04-15 07:29:15,591 INFO L290 TraceCheckUtils]: 9: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:15,591 INFO L290 TraceCheckUtils]: 8: Hoare triple {29234#true} assume !(0 == ~cond); {29234#true} is VALID [2022-04-15 07:29:15,591 INFO L290 TraceCheckUtils]: 7: Hoare triple {29234#true} ~cond := #in~cond; {29234#true} is VALID [2022-04-15 07:29:15,591 INFO L272 TraceCheckUtils]: 6: Hoare triple {29234#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {29234#true} is VALID [2022-04-15 07:29:15,592 INFO L290 TraceCheckUtils]: 5: Hoare triple {29234#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; {29234#true} is VALID [2022-04-15 07:29:15,592 INFO L272 TraceCheckUtils]: 4: Hoare triple {29234#true} call #t~ret6 := main(); {29234#true} is VALID [2022-04-15 07:29:15,592 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {29234#true} {29234#true} #81#return; {29234#true} is VALID [2022-04-15 07:29:15,592 INFO L290 TraceCheckUtils]: 2: Hoare triple {29234#true} assume true; {29234#true} is VALID [2022-04-15 07:29:15,592 INFO L290 TraceCheckUtils]: 1: Hoare triple {29234#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); {29234#true} is VALID [2022-04-15 07:29:15,592 INFO L272 TraceCheckUtils]: 0: Hoare triple {29234#true} call ULTIMATE.init(); {29234#true} is VALID [2022-04-15 07:29:15,592 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-15 07:29:15,592 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:29:15,592 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1192022912] [2022-04-15 07:29:15,593 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:29:15,593 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [18489239] [2022-04-15 07:29:15,593 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [18489239] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:29:15,593 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:29:15,593 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 10] total 16 [2022-04-15 07:29:15,593 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:29:15,593 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [631257191] [2022-04-15 07:29:15,593 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [631257191] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:29:15,593 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:29:15,593 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-15 07:29:15,593 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2094051864] [2022-04-15 07:29:15,593 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:29:15,594 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-15 07:29:15,594 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:29:15,594 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-15 07:29:15,679 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:29:15,679 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-15 07:29:15,679 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:15,679 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-15 07:29:15,679 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=178, Unknown=0, NotChecked=0, Total=240 [2022-04-15 07:29:15,679 INFO L87 Difference]: Start difference. First operand 307 states and 370 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-15 07:29:18,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:18,507 INFO L93 Difference]: Finished difference Result 348 states and 420 transitions. [2022-04-15 07:29:18,507 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-15 07:29:18,508 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-15 07:29:18,508 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:29:18,508 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-15 07:29:18,509 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 100 transitions. [2022-04-15 07:29:18,509 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-15 07:29:18,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 100 transitions. [2022-04-15 07:29:18,511 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 100 transitions. [2022-04-15 07:29:18,669 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:29:18,676 INFO L225 Difference]: With dead ends: 348 [2022-04-15 07:29:18,676 INFO L226 Difference]: Without dead ends: 346 [2022-04-15 07:29:18,676 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-15 07:29:18,677 INFO L913 BasicCegarLoop]: 57 mSDtfsCounter, 9 mSDsluCounter, 211 mSDsCounter, 0 mSdLazyCounter, 478 mSolverCounterSat, 12 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s 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.3s IncrementalHoareTripleChecker+Time [2022-04-15 07:29:18,677 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.3s Time] [2022-04-15 07:29:18,677 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 346 states. [2022-04-15 07:29:19,123 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 346 to 332. [2022-04-15 07:29:19,123 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-15 07:29:19,123 INFO L82 GeneralOperation]: Start isEquivalent. First operand 346 states. Second operand has 332 states, 205 states have (on average 1.1365853658536584) internal successors, (233), 208 states have internal predecessors, (233), 83 states have call successors, (83), 44 states have call predecessors, (83), 43 states have return successors, (81), 79 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-15 07:29:19,124 INFO L74 IsIncluded]: Start isIncluded. First operand 346 states. Second operand has 332 states, 205 states have (on average 1.1365853658536584) internal successors, (233), 208 states have internal predecessors, (233), 83 states have call successors, (83), 44 states have call predecessors, (83), 43 states have return successors, (81), 79 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-15 07:29:19,124 INFO L87 Difference]: Start difference. First operand 346 states. Second operand has 332 states, 205 states have (on average 1.1365853658536584) internal successors, (233), 208 states have internal predecessors, (233), 83 states have call successors, (83), 44 states have call predecessors, (83), 43 states have return successors, (81), 79 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-15 07:29:19,131 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:19,131 INFO L93 Difference]: Finished difference Result 346 states and 418 transitions. [2022-04-15 07:29:19,132 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 418 transitions. [2022-04-15 07:29:19,132 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:19,132 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:19,133 INFO L74 IsIncluded]: Start isIncluded. First operand has 332 states, 205 states have (on average 1.1365853658536584) internal successors, (233), 208 states have internal predecessors, (233), 83 states have call successors, (83), 44 states have call predecessors, (83), 43 states have return successors, (81), 79 states have call predecessors, (81), 81 states have call successors, (81) Second operand 346 states. [2022-04-15 07:29:19,133 INFO L87 Difference]: Start difference. First operand has 332 states, 205 states have (on average 1.1365853658536584) internal successors, (233), 208 states have internal predecessors, (233), 83 states have call successors, (83), 44 states have call predecessors, (83), 43 states have return successors, (81), 79 states have call predecessors, (81), 81 states have call successors, (81) Second operand 346 states. [2022-04-15 07:29:19,139 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:29:19,139 INFO L93 Difference]: Finished difference Result 346 states and 418 transitions. [2022-04-15 07:29:19,139 INFO L276 IsEmpty]: Start isEmpty. Operand 346 states and 418 transitions. [2022-04-15 07:29:19,140 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-15 07:29:19,140 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-15 07:29:19,140 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-15 07:29:19,140 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-15 07:29:19,141 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 332 states, 205 states have (on average 1.1365853658536584) internal successors, (233), 208 states have internal predecessors, (233), 83 states have call successors, (83), 44 states have call predecessors, (83), 43 states have return successors, (81), 79 states have call predecessors, (81), 81 states have call successors, (81) [2022-04-15 07:29:19,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 332 states to 332 states and 397 transitions. [2022-04-15 07:29:19,148 INFO L78 Accepts]: Start accepts. Automaton has 332 states and 397 transitions. Word has length 99 [2022-04-15 07:29:19,148 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-15 07:29:19,149 INFO L478 AbstractCegarLoop]: Abstraction has 332 states and 397 transitions. [2022-04-15 07:29:19,149 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-15 07:29:19,149 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 332 states and 397 transitions. [2022-04-15 07:29:24,354 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 397 edges. 397 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:29:24,354 INFO L276 IsEmpty]: Start isEmpty. Operand 332 states and 397 transitions. [2022-04-15 07:29:24,355 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 100 [2022-04-15 07:29:24,355 INFO L491 BasicCegarLoop]: Found error trace [2022-04-15 07:29:24,355 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-15 07:29:24,385 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-15 07:29:24,567 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-15 07:29:24,567 INFO L403 AbstractCegarLoop]: === Iteration 24 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-15 07:29:24,568 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-15 07:29:24,568 INFO L85 PathProgramCache]: Analyzing trace with hash 43761953, now seen corresponding path program 21 times [2022-04-15 07:29:24,568 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-15 07:29:24,568 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1434521298] [2022-04-15 07:29:24,568 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-15 07:29:24,568 INFO L85 PathProgramCache]: Analyzing trace with hash 43761953, now seen corresponding path program 22 times [2022-04-15 07:29:24,569 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-15 07:29:24,569 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1846649680] [2022-04-15 07:29:24,569 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-15 07:29:24,569 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-15 07:29:24,590 ERROR L245 FreeRefinementEngine]: Caught known exception: Unsupported non-linear arithmetic [2022-04-15 07:29:24,590 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleZ3 [108747534] [2022-04-15 07:29:24,590 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-15 07:29:24,590 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-15 07:29:24,591 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-15 07:29:24,604 INFO L229 MonitoredProcess]: Starting monitored process 24 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-15 07:29:24,607 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-04-15 07:29:24,653 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-15 07:29:24,653 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-15 07:29:24,654 INFO L263 TraceCheckSpWp]: Trace formula consists of 209 conjuncts, 55 conjunts are in the unsatisfiable core [2022-04-15 07:29:24,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-15 07:29:24,682 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-15 07:29:28,668 INFO L272 TraceCheckUtils]: 0: Hoare triple {31897#true} call ULTIMATE.init(); {31897#true} is VALID [2022-04-15 07:29:28,668 INFO L290 TraceCheckUtils]: 1: Hoare triple {31897#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); {31897#true} is VALID [2022-04-15 07:29:28,668 INFO L290 TraceCheckUtils]: 2: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:29:28,668 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31897#true} {31897#true} #81#return; {31897#true} is VALID [2022-04-15 07:29:28,668 INFO L272 TraceCheckUtils]: 4: Hoare triple {31897#true} call #t~ret6 := main(); {31897#true} is VALID [2022-04-15 07:29:28,668 INFO L290 TraceCheckUtils]: 5: Hoare triple {31897#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; {31897#true} is VALID [2022-04-15 07:29:28,668 INFO L272 TraceCheckUtils]: 6: Hoare triple {31897#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31897#true} is VALID [2022-04-15 07:29:28,668 INFO L290 TraceCheckUtils]: 7: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:29:28,668 INFO L290 TraceCheckUtils]: 8: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:29:28,668 INFO L290 TraceCheckUtils]: 9: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:29:28,668 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31897#true} {31897#true} #63#return; {31897#true} is VALID [2022-04-15 07:29:28,668 INFO L272 TraceCheckUtils]: 11: Hoare triple {31897#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31897#true} is VALID [2022-04-15 07:29:28,668 INFO L290 TraceCheckUtils]: 12: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:29:28,669 INFO L290 TraceCheckUtils]: 13: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:29:28,669 INFO L290 TraceCheckUtils]: 14: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:29:28,669 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {31897#true} {31897#true} #65#return; {31897#true} is VALID [2022-04-15 07:29:28,669 INFO L290 TraceCheckUtils]: 16: Hoare triple {31897#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {31950#(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-15 07:29:28,669 INFO L290 TraceCheckUtils]: 17: Hoare triple {31950#(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; {31950#(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-15 07:29:28,670 INFO L272 TraceCheckUtils]: 18: Hoare triple {31950#(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)); {31897#true} is VALID [2022-04-15 07:29:28,670 INFO L290 TraceCheckUtils]: 19: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:29:28,670 INFO L290 TraceCheckUtils]: 20: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:29:28,670 INFO L290 TraceCheckUtils]: 21: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:29:28,670 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {31897#true} {31950#(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; {31950#(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-15 07:29:28,670 INFO L272 TraceCheckUtils]: 23: Hoare triple {31950#(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)); {31897#true} is VALID [2022-04-15 07:29:28,671 INFO L290 TraceCheckUtils]: 24: Hoare triple {31897#true} ~cond := #in~cond; {31975#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:28,671 INFO L290 TraceCheckUtils]: 25: Hoare triple {31975#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:29:28,671 INFO L290 TraceCheckUtils]: 26: Hoare triple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:29:28,672 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} {31950#(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; {31950#(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-15 07:29:28,672 INFO L272 TraceCheckUtils]: 28: Hoare triple {31950#(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)); {31897#true} is VALID [2022-04-15 07:29:28,672 INFO L290 TraceCheckUtils]: 29: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:29:28,672 INFO L290 TraceCheckUtils]: 30: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:29:28,672 INFO L290 TraceCheckUtils]: 31: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:29:28,672 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {31897#true} {31950#(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; {31950#(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-15 07:29:28,673 INFO L290 TraceCheckUtils]: 33: Hoare triple {31950#(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); {31950#(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-15 07:29:28,673 INFO L290 TraceCheckUtils]: 34: Hoare triple {31950#(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; {32007#(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-15 07:29:28,674 INFO L290 TraceCheckUtils]: 35: Hoare triple {32007#(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; {32007#(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-15 07:29:28,674 INFO L272 TraceCheckUtils]: 36: Hoare triple {32007#(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)); {31897#true} is VALID [2022-04-15 07:29:28,674 INFO L290 TraceCheckUtils]: 37: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:29:28,674 INFO L290 TraceCheckUtils]: 38: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:29:28,674 INFO L290 TraceCheckUtils]: 39: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:29:28,675 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {31897#true} {32007#(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; {32007#(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-15 07:29:28,675 INFO L272 TraceCheckUtils]: 41: Hoare triple {32007#(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)); {31897#true} is VALID [2022-04-15 07:29:28,675 INFO L290 TraceCheckUtils]: 42: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:29:28,675 INFO L290 TraceCheckUtils]: 43: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:29:28,675 INFO L290 TraceCheckUtils]: 44: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:29:28,675 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {31897#true} {32007#(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; {32007#(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-15 07:29:28,675 INFO L272 TraceCheckUtils]: 46: Hoare triple {32007#(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)); {31897#true} is VALID [2022-04-15 07:29:28,675 INFO L290 TraceCheckUtils]: 47: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:29:28,676 INFO L290 TraceCheckUtils]: 48: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:29:28,676 INFO L290 TraceCheckUtils]: 49: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:29:28,676 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {31897#true} {32007#(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; {32007#(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-15 07:29:28,677 INFO L290 TraceCheckUtils]: 51: Hoare triple {32007#(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); {32007#(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-15 07:29:28,679 INFO L290 TraceCheckUtils]: 52: Hoare triple {32007#(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; {32062#(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-15 07:29:28,679 INFO L290 TraceCheckUtils]: 53: Hoare triple {32062#(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; {32062#(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-15 07:29:28,680 INFO L272 TraceCheckUtils]: 54: Hoare triple {32062#(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)); {31897#true} is VALID [2022-04-15 07:29:28,680 INFO L290 TraceCheckUtils]: 55: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:29:28,680 INFO L290 TraceCheckUtils]: 56: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:29:28,680 INFO L290 TraceCheckUtils]: 57: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:29:28,680 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {31897#true} {32062#(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; {32062#(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-15 07:29:28,680 INFO L272 TraceCheckUtils]: 59: Hoare triple {32062#(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)); {31897#true} is VALID [2022-04-15 07:29:28,680 INFO L290 TraceCheckUtils]: 60: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:29:28,681 INFO L290 TraceCheckUtils]: 61: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:29:28,681 INFO L290 TraceCheckUtils]: 62: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:29:28,681 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {31897#true} {32062#(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; {32062#(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-15 07:29:28,681 INFO L272 TraceCheckUtils]: 64: Hoare triple {32062#(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)); {31897#true} is VALID [2022-04-15 07:29:28,681 INFO L290 TraceCheckUtils]: 65: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:29:28,681 INFO L290 TraceCheckUtils]: 66: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:29:28,681 INFO L290 TraceCheckUtils]: 67: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:29:28,682 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {31897#true} {32062#(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; {32062#(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-15 07:29:28,682 INFO L290 TraceCheckUtils]: 69: Hoare triple {32062#(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); {32062#(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-15 07:29:28,684 INFO L290 TraceCheckUtils]: 70: Hoare triple {32062#(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; {32117#(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-15 07:29:28,685 INFO L290 TraceCheckUtils]: 71: Hoare triple {32117#(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; {32117#(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-15 07:29:28,685 INFO L272 TraceCheckUtils]: 72: Hoare triple {32117#(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)); {31897#true} is VALID [2022-04-15 07:29:28,685 INFO L290 TraceCheckUtils]: 73: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:29:28,685 INFO L290 TraceCheckUtils]: 74: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:29:28,685 INFO L290 TraceCheckUtils]: 75: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:29:28,685 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {31897#true} {32117#(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; {32117#(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-15 07:29:28,686 INFO L272 TraceCheckUtils]: 77: Hoare triple {32117#(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)); {31897#true} is VALID [2022-04-15 07:29:28,686 INFO L290 TraceCheckUtils]: 78: Hoare triple {31897#true} ~cond := #in~cond; {31975#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:28,686 INFO L290 TraceCheckUtils]: 79: Hoare triple {31975#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:29:28,686 INFO L290 TraceCheckUtils]: 80: Hoare triple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:29:28,687 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} {32117#(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; {32151#(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-15 07:29:28,687 INFO L272 TraceCheckUtils]: 82: Hoare triple {32151#(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)); {31897#true} is VALID [2022-04-15 07:29:28,688 INFO L290 TraceCheckUtils]: 83: Hoare triple {31897#true} ~cond := #in~cond; {31975#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:28,688 INFO L290 TraceCheckUtils]: 84: Hoare triple {31975#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:29:28,688 INFO L290 TraceCheckUtils]: 85: Hoare triple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:29:28,689 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} {32151#(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; {32151#(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-15 07:29:28,689 INFO L290 TraceCheckUtils]: 87: Hoare triple {32151#(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); {32151#(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-15 07:29:28,695 INFO L290 TraceCheckUtils]: 88: Hoare triple {32151#(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; {32173#(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-15 07:29:28,696 INFO L290 TraceCheckUtils]: 89: Hoare triple {32173#(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; {32173#(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-15 07:29:28,696 INFO L272 TraceCheckUtils]: 90: Hoare triple {32173#(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)); {31897#true} is VALID [2022-04-15 07:29:28,696 INFO L290 TraceCheckUtils]: 91: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:29:28,696 INFO L290 TraceCheckUtils]: 92: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:29:28,696 INFO L290 TraceCheckUtils]: 93: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:29:28,697 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {31897#true} {32173#(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; {32173#(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-15 07:29:28,702 INFO L272 TraceCheckUtils]: 95: Hoare triple {32173#(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)); {32195#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:29:28,703 INFO L290 TraceCheckUtils]: 96: Hoare triple {32195#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32199#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:29:28,703 INFO L290 TraceCheckUtils]: 97: Hoare triple {32199#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31898#false} is VALID [2022-04-15 07:29:28,703 INFO L290 TraceCheckUtils]: 98: Hoare triple {31898#false} assume !false; {31898#false} is VALID [2022-04-15 07:29:28,704 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-15 07:29:28,704 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-15 07:30:08,349 INFO L290 TraceCheckUtils]: 98: Hoare triple {31898#false} assume !false; {31898#false} is VALID [2022-04-15 07:30:08,350 INFO L290 TraceCheckUtils]: 97: Hoare triple {32199#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {31898#false} is VALID [2022-04-15 07:30:08,350 INFO L290 TraceCheckUtils]: 96: Hoare triple {32195#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {32199#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-15 07:30:08,351 INFO L272 TraceCheckUtils]: 95: Hoare triple {32215#(= 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)); {32195#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-15 07:30:08,352 INFO L284 TraceCheckUtils]: 94: Hoare quadruple {31897#true} {32215#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} #67#return; {32215#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 07:30:08,352 INFO L290 TraceCheckUtils]: 93: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:30:08,352 INFO L290 TraceCheckUtils]: 92: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:30:08,352 INFO L290 TraceCheckUtils]: 91: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:30:08,352 INFO L272 TraceCheckUtils]: 90: Hoare triple {32215#(= 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)); {31897#true} is VALID [2022-04-15 07:30:08,352 INFO L290 TraceCheckUtils]: 89: Hoare triple {32215#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} assume !false; {32215#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 07:30:08,518 INFO L290 TraceCheckUtils]: 88: Hoare triple {32237#(= (+ main_~a~0 (* (- 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; {32215#(= main_~a~0 (+ (* main_~y~0 main_~r~0) (* main_~p~0 main_~x~0)))} is VALID [2022-04-15 07:30:08,519 INFO L290 TraceCheckUtils]: 87: Hoare triple {32237#(= (+ main_~a~0 (* (- 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); {32237#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 07:30:08,520 INFO L284 TraceCheckUtils]: 86: Hoare quadruple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} {32244#(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; {32237#(= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0)))))} is VALID [2022-04-15 07:30:08,520 INFO L290 TraceCheckUtils]: 85: Hoare triple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:30:08,521 INFO L290 TraceCheckUtils]: 84: Hoare triple {32254#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:30:08,521 INFO L290 TraceCheckUtils]: 83: Hoare triple {31897#true} ~cond := #in~cond; {32254#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:30:08,521 INFO L272 TraceCheckUtils]: 82: Hoare triple {32244#(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)); {31897#true} is VALID [2022-04-15 07:30:08,523 INFO L284 TraceCheckUtils]: 81: Hoare quadruple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} {31897#true} #69#return; {32244#(or (= (+ main_~a~0 (* (- 1) main_~b~0)) (+ (* (+ main_~r~0 (* (- 1) main_~s~0)) main_~y~0) (* main_~x~0 (+ main_~p~0 (* (- 1) main_~q~0))))) (not (= main_~b~0 (+ (* main_~q~0 main_~x~0) (* main_~y~0 main_~s~0)))))} is VALID [2022-04-15 07:30:08,524 INFO L290 TraceCheckUtils]: 80: Hoare triple {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:30:08,524 INFO L290 TraceCheckUtils]: 79: Hoare triple {32254#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} assume !(0 == ~cond); {31979#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-15 07:30:08,525 INFO L290 TraceCheckUtils]: 78: Hoare triple {31897#true} ~cond := #in~cond; {32254#(or (not (= |__VERIFIER_assert_#in~cond| 0)) (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-15 07:30:08,525 INFO L272 TraceCheckUtils]: 77: Hoare triple {31897#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L284 TraceCheckUtils]: 76: Hoare quadruple {31897#true} {31897#true} #67#return; {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L290 TraceCheckUtils]: 75: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L290 TraceCheckUtils]: 74: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L290 TraceCheckUtils]: 73: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L272 TraceCheckUtils]: 72: Hoare triple {31897#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L290 TraceCheckUtils]: 71: Hoare triple {31897#true} assume !false; {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L290 TraceCheckUtils]: 70: Hoare triple {31897#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L290 TraceCheckUtils]: 69: Hoare triple {31897#true} assume !!(~a~0 != ~b~0); {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L284 TraceCheckUtils]: 68: Hoare quadruple {31897#true} {31897#true} #71#return; {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L290 TraceCheckUtils]: 67: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L290 TraceCheckUtils]: 66: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L290 TraceCheckUtils]: 65: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L272 TraceCheckUtils]: 64: Hoare triple {31897#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L284 TraceCheckUtils]: 63: Hoare quadruple {31897#true} {31897#true} #69#return; {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L290 TraceCheckUtils]: 62: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:30:08,525 INFO L290 TraceCheckUtils]: 61: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L290 TraceCheckUtils]: 60: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L272 TraceCheckUtils]: 59: Hoare triple {31897#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L284 TraceCheckUtils]: 58: Hoare quadruple {31897#true} {31897#true} #67#return; {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L290 TraceCheckUtils]: 57: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L290 TraceCheckUtils]: 56: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L290 TraceCheckUtils]: 55: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L272 TraceCheckUtils]: 54: Hoare triple {31897#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L290 TraceCheckUtils]: 53: Hoare triple {31897#true} assume !false; {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L290 TraceCheckUtils]: 52: Hoare triple {31897#true} assume !(~a~0 > ~b~0);~b~0 := ~b~0 - ~a~0;~q~0 := ~q~0 - ~p~0;~s~0 := ~s~0 - ~r~0; {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L290 TraceCheckUtils]: 51: Hoare triple {31897#true} assume !!(~a~0 != ~b~0); {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {31897#true} {31897#true} #71#return; {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L290 TraceCheckUtils]: 49: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L290 TraceCheckUtils]: 48: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L290 TraceCheckUtils]: 47: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L272 TraceCheckUtils]: 46: Hoare triple {31897#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L284 TraceCheckUtils]: 45: Hoare quadruple {31897#true} {31897#true} #69#return; {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L290 TraceCheckUtils]: 44: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:30:08,526 INFO L290 TraceCheckUtils]: 43: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L290 TraceCheckUtils]: 42: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L272 TraceCheckUtils]: 41: Hoare triple {31897#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L284 TraceCheckUtils]: 40: Hoare quadruple {31897#true} {31897#true} #67#return; {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L290 TraceCheckUtils]: 39: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L290 TraceCheckUtils]: 38: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L290 TraceCheckUtils]: 37: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L272 TraceCheckUtils]: 36: Hoare triple {31897#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L290 TraceCheckUtils]: 35: Hoare triple {31897#true} assume !false; {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L290 TraceCheckUtils]: 34: Hoare triple {31897#true} assume ~a~0 > ~b~0;~a~0 := ~a~0 - ~b~0;~p~0 := ~p~0 - ~q~0;~r~0 := ~r~0 - ~s~0; {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L290 TraceCheckUtils]: 33: Hoare triple {31897#true} assume !!(~a~0 != ~b~0); {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L284 TraceCheckUtils]: 32: Hoare quadruple {31897#true} {31897#true} #71#return; {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L290 TraceCheckUtils]: 31: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L290 TraceCheckUtils]: 30: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L290 TraceCheckUtils]: 29: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L272 TraceCheckUtils]: 28: Hoare triple {31897#true} call __VERIFIER_assert((if ~b~0 == ~x~0 * ~q~0 + ~y~0 * ~s~0 then 1 else 0)); {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L284 TraceCheckUtils]: 27: Hoare quadruple {31897#true} {31897#true} #69#return; {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L290 TraceCheckUtils]: 26: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:30:08,527 INFO L290 TraceCheckUtils]: 25: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L290 TraceCheckUtils]: 24: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L272 TraceCheckUtils]: 23: Hoare triple {31897#true} call __VERIFIER_assert((if ~a~0 == ~y~0 * ~r~0 + ~x~0 * ~p~0 then 1 else 0)); {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {31897#true} {31897#true} #67#return; {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L290 TraceCheckUtils]: 21: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L290 TraceCheckUtils]: 20: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L290 TraceCheckUtils]: 19: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L272 TraceCheckUtils]: 18: Hoare triple {31897#true} call __VERIFIER_assert((if 1 == ~p~0 * ~s~0 - ~r~0 * ~q~0 then 1 else 0)); {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L290 TraceCheckUtils]: 17: Hoare triple {31897#true} assume !false; {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L290 TraceCheckUtils]: 16: Hoare triple {31897#true} ~a~0 := ~x~0;~b~0 := ~y~0;~p~0 := 1;~q~0 := 0;~r~0 := 0;~s~0 := 1; {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {31897#true} {31897#true} #65#return; {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L290 TraceCheckUtils]: 14: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L290 TraceCheckUtils]: 13: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L290 TraceCheckUtils]: 12: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L272 TraceCheckUtils]: 11: Hoare triple {31897#true} call assume_abort_if_not((if ~y~0 >= 1 then 1 else 0)); {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {31897#true} {31897#true} #63#return; {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L290 TraceCheckUtils]: 9: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L290 TraceCheckUtils]: 8: Hoare triple {31897#true} assume !(0 == ~cond); {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L290 TraceCheckUtils]: 7: Hoare triple {31897#true} ~cond := #in~cond; {31897#true} is VALID [2022-04-15 07:30:08,528 INFO L272 TraceCheckUtils]: 6: Hoare triple {31897#true} call assume_abort_if_not((if ~x~0 >= 1 then 1 else 0)); {31897#true} is VALID [2022-04-15 07:30:08,529 INFO L290 TraceCheckUtils]: 5: Hoare triple {31897#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; {31897#true} is VALID [2022-04-15 07:30:08,529 INFO L272 TraceCheckUtils]: 4: Hoare triple {31897#true} call #t~ret6 := main(); {31897#true} is VALID [2022-04-15 07:30:08,529 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {31897#true} {31897#true} #81#return; {31897#true} is VALID [2022-04-15 07:30:08,529 INFO L290 TraceCheckUtils]: 2: Hoare triple {31897#true} assume true; {31897#true} is VALID [2022-04-15 07:30:08,529 INFO L290 TraceCheckUtils]: 1: Hoare triple {31897#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); {31897#true} is VALID [2022-04-15 07:30:08,529 INFO L272 TraceCheckUtils]: 0: Hoare triple {31897#true} call ULTIMATE.init(); {31897#true} is VALID [2022-04-15 07:30:08,529 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-15 07:30:08,529 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-15 07:30:08,529 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1846649680] [2022-04-15 07:30:08,529 WARN L310 FreeRefinementEngine]: Interpolation failed due to KNOWN_IGNORE: SMT_SOLVER_CANNOT_INTERPOLATE_INPUT [2022-04-15 07:30:08,529 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [108747534] [2022-04-15 07:30:08,529 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [108747534] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-15 07:30:08,530 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-15 07:30:08,530 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9] total 16 [2022-04-15 07:30:08,530 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-15 07:30:08,530 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1434521298] [2022-04-15 07:30:08,530 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1434521298] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-15 07:30:08,530 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-15 07:30:08,530 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-15 07:30:08,530 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1097980959] [2022-04-15 07:30:08,530 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-15 07:30:08,530 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-15 07:30:08,531 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-15 07:30:08,531 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-15 07:30:08,632 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:30:08,633 INFO L554 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-15 07:30:08,633 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-15 07:30:08,633 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-15 07:30:08,633 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=194, Unknown=0, NotChecked=0, Total=240 [2022-04-15 07:30:08,633 INFO L87 Difference]: Start difference. First operand 332 states and 397 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-15 07:30:16,573 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-15 07:30:16,573 INFO L93 Difference]: Finished difference Result 366 states and 439 transitions. [2022-04-15 07:30:16,573 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-04-15 07:30:16,573 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-15 07:30:16,573 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-15 07:30:16,573 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-15 07:30:16,577 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-15 07:30:16,577 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-15 07:30:16,578 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 100 transitions. [2022-04-15 07:30:16,578 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 12 states and 100 transitions. [2022-04-15 07:30:16,805 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-15 07:30:16,812 INFO L225 Difference]: With dead ends: 366 [2022-04-15 07:30:16,812 INFO L226 Difference]: Without dead ends: 364 [2022-04-15 07:30:16,812 INFO L912 BasicCegarLoop]: 0 DeclaredPredicates, 199 GetRequests, 181 SyntacticMatches, 2 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=59, Invalid=247, Unknown=0, NotChecked=0, Total=306 [2022-04-15 07:30:16,813 INFO L913 BasicCegarLoop]: 47 mSDtfsCounter, 14 mSDsluCounter, 177 mSDsCounter, 0 mSdLazyCounter, 629 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 19 SdHoareTripleChecker+Valid, 224 SdHoareTripleChecker+Invalid, 639 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 629 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 3.0s IncrementalHoareTripleChecker+Time [2022-04-15 07:30:16,813 INFO L914 BasicCegarLoop]: SdHoareTripleChecker [19 Valid, 224 Invalid, 639 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 629 Invalid, 0 Unknown, 0 Unchecked, 3.0s Time] [2022-04-15 07:30:16,813 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 364 states.